我想告诉消费者我的api关于新创建的对象的位置
public virtual Microsoft.AspNetCore.Mvc.CreatedAtRouteResult CreatedAtRoute (string routeName, object routeValues, object content);
Parameters
这里的Student和StudentDto类就不展示了,比较简单
[ApiController]
[Route("api/{Controller}")]
public class HomeController : Controller
{
[HttpGet("students")]
public IActionResult GetStudents()
{
return Ok(DbContext.Db.ToList());
}
[HttpGet("students/{id}", Name = nameof(GetStudents))]
public IActionResult GetStudents(Guid id)
{
return Ok(DbContext.Db.FirstOrDefault(x => x.Id == id));
}
[HttpPost("student")]
public IActionResult AddStudent([FromForm]Student student)
{
var stuDto = new StudentDto()
{
Id = Guid.NewGuid(),
Name = student.FirstName + student.LastName,
Age = DateTime.Now.Year - student.Birthday.Year
};
DbContext.Db.Add(stuDto);
return CreatedAtRoute(nameof(GetStudents), new { id = stuDto.Id }, stuDto);
}
}
返回值Body
返回值Headers
ASP.NET Core WebAPI 使用CreatedAtRoute通知消费者
原文:https://www.cnblogs.com/zhaoshujie/p/12306481.html