Parameter binding for API requests

pull/2117/head
Bogdan 1 month ago
parent 858f85c50d
commit 3e0af062c1

@ -50,7 +50,7 @@ namespace Prowlarr.Api.V1.Commands
[RestPostById] [RestPostById]
[Consumes("application/json")] [Consumes("application/json")]
[Produces("application/json")] [Produces("application/json")]
public ActionResult<CommandResource> StartCommand(CommandResource commandResource) public ActionResult<CommandResource> StartCommand([FromBody] CommandResource commandResource)
{ {
var commandType = var commandType =
_knownTypes.GetImplementations(typeof(Command)) _knownTypes.GetImplementations(typeof(Command))

@ -35,7 +35,7 @@ namespace Prowlarr.Api.V1.Config
[RestPutById] [RestPutById]
[Consumes("application/json")] [Consumes("application/json")]
[Produces("application/json")] [Produces("application/json")]
public virtual ActionResult<TResource> SaveConfig(TResource resource) public virtual ActionResult<TResource> SaveConfig([FromBody] TResource resource)
{ {
var dictionary = resource.GetType() var dictionary = resource.GetType()
.GetProperties(BindingFlags.Instance | BindingFlags.Public) .GetProperties(BindingFlags.Instance | BindingFlags.Public)

@ -125,7 +125,7 @@ namespace Prowlarr.Api.V1.Config
[RestPutById] [RestPutById]
[Consumes("application/json")] [Consumes("application/json")]
[Produces("application/json")] [Produces("application/json")]
public ActionResult<HostConfigResource> SaveHostConfig(HostConfigResource resource) public ActionResult<HostConfigResource> SaveHostConfig([FromBody] HostConfigResource resource)
{ {
var dictionary = resource.GetType() var dictionary = resource.GetType()
.GetProperties(BindingFlags.Instance | BindingFlags.Public) .GetProperties(BindingFlags.Instance | BindingFlags.Public)

@ -35,7 +35,7 @@ namespace Prowlarr.Api.V1.Config
[RestPutById] [RestPutById]
[Consumes("application/json")] [Consumes("application/json")]
[Produces("application/json")] [Produces("application/json")]
public override ActionResult<UiConfigResource> SaveConfig(UiConfigResource resource) public override ActionResult<UiConfigResource> SaveConfig([FromBody] UiConfigResource resource)
{ {
var dictionary = resource.GetType() var dictionary = resource.GetType()
.GetProperties(BindingFlags.Instance | BindingFlags.Public) .GetProperties(BindingFlags.Instance | BindingFlags.Public)

@ -32,7 +32,7 @@ namespace Prowlarr.Api.V1.CustomFilters
[RestPostById] [RestPostById]
[Consumes("application/json")] [Consumes("application/json")]
[Produces("application/json")] [Produces("application/json")]
public ActionResult<CustomFilterResource> AddCustomFilter(CustomFilterResource resource) public ActionResult<CustomFilterResource> AddCustomFilter([FromBody] CustomFilterResource resource)
{ {
var customFilter = _customFilterService.Add(resource.ToModel()); var customFilter = _customFilterService.Add(resource.ToModel());
@ -42,7 +42,7 @@ namespace Prowlarr.Api.V1.CustomFilters
[RestPutById] [RestPutById]
[Consumes("application/json")] [Consumes("application/json")]
[Produces("application/json")] [Produces("application/json")]
public ActionResult<CustomFilterResource> UpdateCustomFilter(CustomFilterResource resource) public ActionResult<CustomFilterResource> UpdateCustomFilter([FromBody] CustomFilterResource resource)
{ {
_customFilterService.Update(resource.ToModel()); _customFilterService.Update(resource.ToModel());
return Accepted(resource.Id); return Accepted(resource.Id);

@ -23,7 +23,7 @@ namespace Prowlarr.Api.V1.Profiles.App
[RestPostById] [RestPostById]
[Consumes("application/json")] [Consumes("application/json")]
[Produces("application/json")] [Produces("application/json")]
public ActionResult<AppProfileResource> Create(AppProfileResource resource) public ActionResult<AppProfileResource> Create([FromBody] AppProfileResource resource)
{ {
var model = resource.ToModel(); var model = resource.ToModel();
model = _appProfileService.Add(model); model = _appProfileService.Add(model);
@ -41,7 +41,7 @@ namespace Prowlarr.Api.V1.Profiles.App
[RestPutById] [RestPutById]
[Consumes("application/json")] [Consumes("application/json")]
[Produces("application/json")] [Produces("application/json")]
public ActionResult<AppProfileResource> Update(AppProfileResource resource) public ActionResult<AppProfileResource> Update([FromBody] AppProfileResource resource)
{ {
var model = resource.ToModel(); var model = resource.ToModel();

@ -232,7 +232,7 @@ namespace Prowlarr.Api.V1
[HttpPost("action/{name}")] [HttpPost("action/{name}")]
[Consumes("application/json")] [Consumes("application/json")]
[Produces("application/json")] [Produces("application/json")]
public IActionResult RequestAction(string name, [FromBody] TProviderResource resource) public IActionResult RequestAction([FromRoute] string name, [FromBody] TProviderResource resource)
{ {
var providerDefinition = GetDefinition(resource, false, false, false); var providerDefinition = GetDefinition(resource, false, false, false);

@ -55,7 +55,7 @@ namespace Prowlarr.Api.V1.Search
[HttpPost] [HttpPost]
[Consumes("application/json")] [Consumes("application/json")]
[Produces("application/json")] [Produces("application/json")]
public async Task<ActionResult<ReleaseResource>> GrabRelease(ReleaseResource release) public async Task<ActionResult<ReleaseResource>> GrabRelease([FromBody] ReleaseResource release)
{ {
ValidateResource(release); ValidateResource(release);
@ -89,7 +89,7 @@ namespace Prowlarr.Api.V1.Search
[HttpPost("bulk")] [HttpPost("bulk")]
[Consumes("application/json")] [Consumes("application/json")]
[Produces("application/json")] [Produces("application/json")]
public async Task<ActionResult<ReleaseResource>> GrabReleases(List<ReleaseResource> releases) public async Task<ActionResult<ReleaseResource>> GrabReleases([FromBody] List<ReleaseResource> releases)
{ {
releases.ForEach(release => ValidateResource(release)); releases.ForEach(release => ValidateResource(release));

@ -37,7 +37,7 @@ namespace Prowlarr.Api.V1.Tags
[RestPostById] [RestPostById]
[Consumes("application/json")] [Consumes("application/json")]
[Produces("application/json")] [Produces("application/json")]
public ActionResult<TagResource> Create(TagResource resource) public ActionResult<TagResource> Create([FromBody] TagResource resource)
{ {
return Created(_tagService.Add(resource.ToModel()).Id); return Created(_tagService.Add(resource.ToModel()).Id);
} }
@ -45,7 +45,7 @@ namespace Prowlarr.Api.V1.Tags
[RestPutById] [RestPutById]
[Consumes("application/json")] [Consumes("application/json")]
[Produces("application/json")] [Produces("application/json")]
public ActionResult<TagResource> Update(TagResource resource) public ActionResult<TagResource> Update([FromBody] TagResource resource)
{ {
_tagService.Update(resource.ToModel()); _tagService.Update(resource.ToModel());
return Accepted(resource.Id); return Accepted(resource.Id);

Loading…
Cancel
Save