2

ASP .NET MVC 2 プロジェクトでRestSharpを使用しています。RestRequest を (POST メソッドを使用して) 作成し、2 つの列挙値 (私の列挙型 -- OrderStatusFlags) をリクエスト本文に追加しようとしています -- 組み込みの RestSharp XmlSerializer を使用しています:

var request = new RestRequest("orders/{vendorID}/{number}", Method.POST);
request.AddBody(previousOrderStatus);
request.AddBody(newOrderStatus);

ただし、リクエスト パラメータで AddBody メソッドを呼び出した後は、空のみが表示され、値は表示されません。また、MVC アクション メソッドの呼び出し中にエラーが発生します。

パラメーター ディクショナリには、'OrdersResourceEndpoint' のメソッド 'RestResponse PostOrderStatus(Int32, System.String, OrderStatusFlags, OrderStatusFlags)' の null 非許容型 'OrderStatusFlags' のパラメーター 'previousStatus' の null エントリが含まれています。オプションのパラメーターは、参照型または null 許容型であるか、オプションのパラメーターとして宣言する必要があります。パラメータ名: パラメータ

列挙型は次のようになります。

public enum OrderStatusFlags : long
{
    Pending,
    Confirmed,
    ...
}

誰かが同様の状況に陥っていますか?

4

1 に答える 1

4

ここでいくつかの問題があります。まず、1 回しかコールできません。そうしないとAddBody()、最後のコールが優先されます。AddBody()また、リクエストボディとして XML を送信するためだけのものです。その URL に送信するために必要な XML スキーマは何ですか? 生成しようとしているサンプル XML を投稿できますか?

AddParameter()XMLリクエストボディよりもはるかに一般的であるため、実際にいくつかのPOSTパラメーターを追加するために使用したい可能性が高いと思います。

于 2010-10-05T18:56:44.320 に答える