Parameter binding for API requests

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

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

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

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

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

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

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

@ -232,7 +232,7 @@ namespace Prowlarr.Api.V1
[HttpPost("action/{name}")]
[Consumes("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);

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

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

Loading…
Cancel
Save