[英]Using web API with parameters in JSON with FromUri or FromBody
[英]Using [FromUri] and [FromBody] simultaneously to bind a complex Web Api method parameter
我正在使用請求和響應模型來封裝需要傳遞給ASP.NET Web Api中的方法的數據,必要時使用[FromUri]
和[FromBody]
。
但是,有些實例我想使用Uri和Body來填充我的請求模型的屬性。 一個例子是更新用戶,其中UserId
應該在Uri中傳遞,但要更新的數據將在正文內容中傳遞。 我想要的實現看起來像這樣:
型號 :
public class UpdateUserRequestModel
{
public string UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string DisplayName { get; set; }
}
Api方法 :
[HttpPut]
[Route("Update/{UserId}")]
// PUT: api/Users/Update/user@domain.net
public async Task UpdateUserAsync(UpdateUserRequestModel model)
{
// Method logic
}
我希望獲得屬性UserId
[FromUri]
,但其余的要獲得[FromBody]
,同時將所有參數保存在單個對象中。 這可能嗎?
不是最干凈的解決方案,但它應該工作:
[HttpPut]
[Route("Update/{UserId}")]
// PUT: api/Users/Update/user@domain.net
public async Task UpdateUserAsync(UpdateUserRequestModel model, int UserId)
{
model.UserId = UserId;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.