编辑操作的 WebApi 2 POST 结果
WebApi 2 POST result for Edit operation
在我的 WebApi 2 服务中,我有一个允许编辑会员数据的控制器。
[Authorize]
[HttpPost]
[Route("Members/Member")]
public async Task<IHttpActionResult> EditMember([FromBody] Member editedMember)
{
var member = await _membersRepository.GetMembersById(editedMember.MemberId);
if (member == null)
{
return NotFound();
}
member = await _membersRepository.EditMember(editedMember);
Uri locationHeader = new Uri(Url.Link("MemberById", new { id = editedMember.MemberId }));
return Ok();
}
根据 HATEOAS,我应该 return 我发布到的资源的 URI。我会认为如果一切顺利的话正确的结果是可以的。但它不允许在其中包含 URI。
我做错了什么?
您需要做的就是:
return Ok( new { locationHeader });
在我的 WebApi 2 服务中,我有一个允许编辑会员数据的控制器。
[Authorize]
[HttpPost]
[Route("Members/Member")]
public async Task<IHttpActionResult> EditMember([FromBody] Member editedMember)
{
var member = await _membersRepository.GetMembersById(editedMember.MemberId);
if (member == null)
{
return NotFound();
}
member = await _membersRepository.EditMember(editedMember);
Uri locationHeader = new Uri(Url.Link("MemberById", new { id = editedMember.MemberId }));
return Ok();
}
根据 HATEOAS,我应该 return 我发布到的资源的 URI。我会认为如果一切顺利的话正确的结果是可以的。但它不允许在其中包含 URI。
我做错了什么?
您需要做的就是:
return Ok( new { locationHeader });