我有以下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(); 在我的启动中。
已解决此评论
添加[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] 删除。
我来说两句