我一直在使用 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 对象上的名字/姓氏属性。我必须编写自定义模型绑定程序吗?如果是这样,有什么好的例子吗?