4

プロジェクトでAndroidAnnotationを使用していて、次のコードを使用してPOSTリクエストを送信しようとしていますが、期待どおりの応答が得られないため、次のコードに問題があります。

@Rest(rootUrl = "http://xyz.com", converters = {GsonHttpMessageConverter.class})
public interface A {

    @Post("/authenticate/email/")
    public Object attemptLogin(Map data);
}

ペアはどこですかdata(key, value)不足しているものはありますか?JSONに設定する必要がありますかrequest-header、それともdataすべきではありませんか?

4

1 に答える 1

8

Android-Annotations を使用して Rest クライアントから解決策を見つけました。

GET リクエストと同様に、Android-Annotations を使用して POST リクエストを送信するのは非常に簡単です。1 つの違いは、送信するパラメーターをカスタム クラス (例: 以下の例の Event クラス) として定義する必要があることです。これを動的に制御する場合は、マップ (例: MultiValueMap) を定義する必要があります。リクエストの URL は、{...} で囲まれた変数を使用して同様の方法で作成でき、レスポンスは GET リクエストと同様に処理できます。

@Post("/events")
void addEvent(Event event);

@Post("/events/{id}")
void addEventById(Event event, long id);

@Post("/authenticate/event/")
Object authenticateEventData(MultiValueMap data);
于 2013-01-24T13:48:54.397 に答える