小编use*_*072的帖子

从 GET 方法的路由和查询字符串绑定到对象

我一直在使用 2.2 中的 Web api,并且使用对象的 post 方法或使用基元的 get 方法没有任何问题。我的问题是我想同时从路由中的值和查询字符串值的 get 方法绑定到模型对象。

所以基本上从下面的代码我想绑定到一个简单的对象。如果您想象该网址是:

http://localhost:9999/api/Values/ {名字}?{姓氏}=鲍勃

我尝试装饰模型对象并收到 415 个响应,这看起来很奇怪

using Microsoft.AspNetCore.Mvc;

namespace apitest.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class ValuesController : ControllerBase
    {
        // GET api/values/5
        [HttpGet("{Firstname}")]
        public ActionResult<string> Get(Person person)
        {
            return "value";
        }
    }
}

namespace apitest
{
    public class Person
    {
        public string Firstname { get; set; }
        public string Surname { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

显然,这个示例是微不足道且无意义的,但基本上我只想将路由/查询字符串中的名字和姓氏映射到 Person 对象上的名字/姓氏属性。我必须编写自定义模型绑定程序吗?如果是这样,有什么好的例子吗?

asp.net-core-webapi asp.net-core-2.0

1
推荐指数
1
解决办法
3512
查看次数