簡體   English   中英

在不妨礙.Net Web API 中的現有功能的情況下,使用額外的輸入更新 POST 端點

[英]Update the POST endpoint with additional input without hampering existing functionality in .Net Web API

考慮我有一個 POST 端點的場景,該端點在路由參數和特定請求有效負載Range中采用ID 我想通過將其提供到 POST 請求有效負載中來更新此端點以包含附加參數Type

我在這里考慮了多種選擇:

  • 將路由參數更新為路由中提供的附加參數。 [Route("updateItem/{id:int}/{type}")]
  • 更改服務器上的請求負載 DTO Range並更新現有消費者。
  • 在 controller arguments 中使用[FromBody]

然而,這些方法將阻礙 API 的現有消費者。

 [HttpPost]
 [Route("updateItem/{id:int}")]
 public IHttpActionResult UpdateItem(int id, Range range) 
 { 
    return Ok(Service.UpdateItem(id, range)); 
 } 

有沒有辦法將Type信息傳遞給 API 而不會影響 API 的現有消費者?

嘗試這個

[HttpPost]
 [Route("updateItem/{id:int}"/{type:Type?})]
 public IHttpActionResult UpdateItem(int id, Type? type=null, Range range) 
 { 
 if (type != null)
{ 
    return Ok(Service.UpdateItem(id, range)); 
    }
    else
    {
    //implementation for type parameter
    }
 } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM