2017-10-27 5 views
0

AndroidでRetrofit2を使用してエンドポイントをカスタマイズしたいのですが、疑問があります。Retrofit2でのカスタムパラメータ

私はそれを行う場合:

@GET("Search") //i.e https://api.test.com/Search? 
     Call<Products> getProducts(@Query("one") String one, @Query("two") String two,  
           @Query("key") String key) 

私のエンドポイントは、このようなことができます:

//-> https://api.test.com/Search?one=Whatever&two=here&key=SFSDF24242353434 

私はこのエンドポイントで働いている:

// -> https://example.com/third-party-public/categories/category_id.json 

私は同じを使用している場合私が上で説明したように、結果は次のようになります:

@GET("/third-party-public/categories/") 
Observable<List<Category>> getCategoryDetail(@Query(".json") String category_id); 

結果は次のようになります。

// -> https://example.com/third-party-public/categories/.json=1 

しかし、私はどのように私は、その結果を得るために私@queryを設定することができる結果

// -> https://example.com/third-party-public/categories/1.json 

をしたいですか?

答えて

1
@GET("/third-party-public/categories/{category_id}.json") 
Observable<List<Category>> getCategoryDetail(@Path("category_id") String category_id); 
+0

よろしくお願いいたします。 – rom4ek

1

クエリでリクエストを設定すると、クエリのパラメータ '?'として設定されます。

あなたが望む結果はあなたが単にパスのようにそれを使用することである場合:

@GET("Search/{fileUri}") 
     Call<Products> getProducts(@Path("fileUri") String fileUri); 

あなたが「1.json」として値を取得します。

関連する問題