1

restSharp の PUT/POST メソッドを使用して、redmine で問題を作成/変更したいと考えています。Rest Sharp を使用した xml PUT/POST に関する有益な情報が見つかりません。restsharp.org などから色々な方法を試してみ ましたがAddbody("test", "subject");IRestResponse response = client.Execute(request);Redmineでは変化なし。私は何を間違っていますか?

POST は、「get、put、および delete リクエストのみが許可されています」と表示します。メッセージ。

PUT は、「 get 、post、および delete リクエストのみが許可されています」を示します。メッセージ。

マイコード

    RestClient client = new RestClient(_baseUrl);
    client.Authenticator = new HttpBasicAuthenticator(_user, _password);


    RestRequest request = new RestRequest("issues/{id}.xml", Method.POST);

    request.AddParameter("subject", "Testint POST");

    request.AddUrlSegment("id", "5");


    var response = client.Execute(request);
4

2 に答える 2

1

問題はシリアル化にありました。私Issueのクラスには、シリアライゼーションで問題を引き起こしていた他のさまざまなクラスのオブジェクトが含まれています。これが私たちのやり方です:

    RestRequest request = new RestRequest("issues/{id}.xml", Method.PUT);
    request.AddParameter("id", ticket.id, ParameterType.UrlSegment);
    request.XmlSerializer = new RedmineXmlSerializer();
    request.AddBody(ticket);

    RestClient client = new RestClient(_baseUrl);
    client.Authenticator = new HttpBasicAuthenticator(_user, _password);
    IRestResponse response = client.Execute(request);
于 2012-11-15T18:14:38.770 に答える
0

あなたのコードは私には問題ないように見えます。これが必要かどうかはわかりませんが、WebAPI ホストに対して JSON に RestSharp を使用するときに、このヘッダーを追加しました。

        request.AddHeader("Accept", "application/xml");
于 2012-11-14T19:22:05.153 に答える