我有這個
[HttpPost]
[Route("client/{clientid}/employees")]
[SwaggerOperation(Tags = new[] { "Client" })]
public async Task<Unit> AddClientEmployee(AddClientEmployeeCommand request)
{
return await _mediator.Send(request);
}
public class AddClientEmployeeCommand : IRequest<Unit>
{
[FromRoute]
public Guid ClientId { get; set; }
[FromBody]
public Employee Employee { get; set; } = new Employee();
}
{clientid}fromRoute不會系結到,AddClientEmployeeCommand.ClientId除非我將其更改為{ClientId}. 有什么辦法可以禁用這種情況下的區分大小寫嗎?
uj5u.com熱心網友回復:
當您嘗試將類屬性與其系結時,請嘗試FromRoute根據該屬性名稱查找路由部分,因為clientid不等于ClientId它不會系結。為了解決這個問題,您應該為屬性指定名稱,如下所示:
public class AddClientEmployeeCommand : IRequest<Unit>
{
[FromRoute(Name = "clientid")]
public Guid ClientId { get; set; }
[FromBody]
public Employee Employee { get; set; } = new Employee();
}
此外,為了防止呼叫 api 時出現系結錯誤,您可以在路由中指定型別
[Route("client/{clientid:guid}/employees")]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/440217.html
