Web API控制器-查询字符串中的'action'参数

k

我有以下Web API控制器

public class ApiController : Controller
{
    [Route("api/test")]
    [HttpGet]
    public string GetData(string key, string action, long id)
    {
        var actionFromQuery = Request.Query["action"];
        return $"{key} {action} {id}";
    }
}

我在查询字符串中需要一个名为“ action”的参数,因此它与现有API向后兼容。
当我发出一个get请求时,操作方法参数被错误地分配给Web api action ==控制器方法名称。

示例GET
http:// SERVER_IP / api / test?key = 123&action = testAction&id = 456
返回“ 123 GetData 456”

我希望它返回“ 123 testAction 456”
actionFromQuery变量已正确分配给“ testAction”。
“操作”是否是一个不能被覆盖的保留变量?
我可以通过更改某些配置来解决此问题吗?

我没有配置任何路由,只有services.AddMvc(); 和app.UseMvc(); 在我的启动中。

k

已解决此评论

添加[FromQuery]帮助,变量已正确分配

public class ApiController : Controller
{
    [Route("api/test")]
    [HttpGet]
    public string GetData(string key, [FromQuery] string action, long id)
    {
        return $"{key} {action} {id}";
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Web-API控制器多个GET int和字符串参数

查询字符串中的C#Web API可选参数

ASP.NET Web API中的可选查询字符串参数

Web Api:在查询字符串中传递一个空参数

从Web Api控制器中的Post方法获取任何参数

如何在Asp.net Web Api中的url参数中发送控制器动作?

Web API-如何在控制器DateTime('dd / MM / yyyy')中接收Url参数?

如何使用查询字符串参数在控制台应用程序中调用 Web Api

ASP.NET Web API控制器长查询字符串返回BadRequest

您可以将 SQL 查询字符串传递给 Web API 控制器吗?

在控制器中获取查询字符串参数,laravel

带参数的Web API控制器授权

调用Web API字符串参数

.NET Core(2.1)Web API控制器接受请求URL中的所有后续内容作为参数

一起查询控制器.NET Core Web API的字符串和属性路由

在查询字符串中使用&符达到Web Api Action

@ Url.Action添加“;” 之间的参数在控制器中创建空值?

通过JQuery中的@ Url.Action向控制器发送参数时出错

如何使用 Option 标签中的 Action Link 向控制器发送参数

如何在ASP.NET Core API控制器中将URL中的字符串作为参数传递

解密查询字符串参数并将其映射到控制器

MVC 控制器在验证查询字符串参数时应返回 400

如何通过模型绑定将原始查询字符串作为控制器操作参数?

RESTful API查询字符串中需要的参数?

如何将查询字符串参数传递给ASP.NET Web API 2

如何在Web API查询字符串中将多个参数作为OR处理?

使用uri参数和查询字符串时的Web Api路由问题

.Net Core Action方法的查询字符串参数的验证

Javascript问题:在Web API控制器上接收为字符串的整数数组