6

私はほとんどの呼び出しに Retrofit を使用していますが、あるケースでは、引数にフル パスが指定されています。私の URL はhttp://www.example.com/android.jsonのようなものです。この URL は完全に提供されているため、実行時にパスする必要があります。ここで提案されているようにエンドポイントを実装します https://medium.com/@kevintcoughlin/dynamic-endpoints-with-retrofit-a1f4229f4a8d@GETを配置できるようにする必要があり ます@GET("")。少なくとも 1 つの「/」を指定する必要があるというエラーが表示されるため、これは機能しません。

スラッシュを追加すると、URL はhttp://www.example.com/android.json/になり、機能しません。サーバーは禁止を返します。また、ここhttps://github.com/square/retrofit/issues/458GETに似たカスタムインターフェイスを作成しようとしましたが、インターフェイスに値メソッドを提供する場合と提供しない場合があります。次に、値が欠落しているという別のエラーが発生します。GET

基本的に、空または null 値を提供できるようにする必要がありますが、レトロフィットではそれができません。どうすればこの問題を解決できますか? 今のところ、JSON リクエストを手動で行っていますが、この場合にレトロフィットを使用できる方法はありますか? 完全な URL を渡す必要があるため、エンドポイントhttp://www.example.com@GET("/android.json"). ありがとう

4

3 に答える 3

20

@GET(".")を使用して、URL がベース URL と同じであることを示すことができます。

@GET(".")
Observable<Result> getData(@Query("param") String parameter);
于 2019-01-22T20:08:47.437 に答える