ASP.NETコアWebAPIの消費者がCreatedAtRouteを使用知らせます

まず、目的

私は私の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.レビューの結果が返されます

ボディ戻り値
体
戻り値ヘッダ
ヘッダ

3. GETリクエストを送信し、場所の値をコピーし、検証結果

おすすめ

転載: www.cnblogs.com/zhaoshujie/p/12306481.html