まず、目的
私は私のAPIが新しくの位置を作成したオブジェクトについて、消費者に伝えたいです
第二に、説明した方法
public virtual Microsoft.AspNetCore.Mvc.CreatedAtRouteResult CreatedAtRoute (string routeName, object routeValues, object content);
パラメーター
- routeName:URLを生成するために使用するルートの名前。
- routeValues:URLを生成するために使用するルートデータ。
- コンテンツ:エンティティボディでフォーマットへのコンテンツ値。
第三に、サンプル・コード
ここでは学生ではなくStudentDtoクラスを示し、比較的簡単です
[ApiController]
[Route("api/{Controller}")]
public class HomeController : Controller
{
[HttpGet("{id}", Name = "students")]
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("students", new { id = stuDto.Id }, stuDto);
}
}
第四に、テスト
1.ポストフォームを送信するために、リクエストを送信
2.レビューの結果が返されます
ボディ戻り値
戻り値ヘッダ