mirror of
https://github.com/lidarr/Lidarr
synced 2024-12-24 16:51:58 +00:00
updated rest routing to only match numeric IDs.
eg. Match: api/series/12 No Match: api/series/abc
This commit is contained in:
parent
cf9f8b3f8a
commit
36c0e50c23
1 changed files with 11 additions and 5 deletions
|
@ -11,7 +11,7 @@ public abstract class RestModule<TResource> : NancyModule
|
||||||
where TResource : RestResource, new()
|
where TResource : RestResource, new()
|
||||||
{
|
{
|
||||||
private const string ROOT_ROUTE = "/";
|
private const string ROOT_ROUTE = "/";
|
||||||
private const string ID_ROUTE = "/{id}";
|
private const string ID_ROUTE = @"/(?<id>[\d]{1,7})";
|
||||||
|
|
||||||
private Action<int> _deleteResource;
|
private Action<int> _deleteResource;
|
||||||
private Func<int, TResource> _getResourceById;
|
private Func<int, TResource> _getResourceById;
|
||||||
|
@ -55,10 +55,16 @@ protected Func<int, TResource> GetResourceById
|
||||||
{
|
{
|
||||||
_getResourceById = value;
|
_getResourceById = value;
|
||||||
Get[ID_ROUTE] = options =>
|
Get[ID_ROUTE] = options =>
|
||||||
{
|
{
|
||||||
var resource = GetResourceById((int)options.Id);
|
int id;
|
||||||
return resource.AsResponse();
|
if (!Int32.TryParse(options.Id, out id))
|
||||||
};
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
var resource = GetResourceById((int)options.Id);
|
||||||
|
return resource.AsResponse();
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue