簡體   English   中英

在MVC 5中使用FromUri或FromBody

[英]Using FromUri OR FromBody in MVC 5

我想公開我的POST方法,該方法允許用戶使用在url中編碼寫在請求正文中的參數來調用它。 偽代碼:

public HttpResponseMessage MyMethod([FromUri, FromBody] parameters)
{
    //..
}

通過公開兩種方法甚至是不可能的:

public HttpResponseMessage MyMethod([FromUri] parameters)
public HttpResponseMessage MyMethod([FromBody] parameters)

因為它們具有相同的簽名。 如何以簡單的方式實現這一目標?

您不能開箱即用。 如果您嘗試同時使用這兩個屬性,則會出現以下錯誤: 無法綁定參數“ xxx”,因為它具有沖突的屬性。

兩種可能的解決方案:

  1. 使用兩種不同的方法,但使用兩種不同的動詞(例如,一個獲得,一個發布)-簡單的方法
  2. 只能使用[FromUri]並使用自定義操作過濾器(像這樣 )來檢查身體的內容和,如果存在的話,手動解析它,並將其綁定到正確的方法參數-不容易的方式,但功能更強大。

希望能幫助到你 :)

暫無
暫無

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

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