POSTにFeignClient変換GETメソッド

カミルには:

私は私が間違ってやっているかわからないが、各時間装うクライアント変換方法は、ポストタイプにGETとして宣言しました。

@FeignClient(name = "my-service", url = "http://localhost:8114", path = "service")
public interface MyServiceClient {

    @RequestMapping(method = GET, value = "/clients")
    Client getClients(@QueryMap MyPojo pojo);
}

@Getter
@Setter
public class MyPojo {

    @NotNull
    private String someValue;
    @NotNull
    private SomeEnum someEnum;
}

このセットアップでは、この要求に解決する必要があります。
GET http://localhost:8114/service/clients?someValue=foo&someEnum=bar

しかし、それぞれの時間は、私はこの結果を取得しています:

{
  "timestamp": 1542378765498,
  "status": 405,
  "error": "Method Not Allowed",
  "exception": "org.springframework.web.HttpRequestMethodNotSupportedException",
  "message": "Request method 'POST' not supported",
  "path": "/service/clients"
}

私はこのようにそれを行うときしかし、それが正常に動作します:

@RequestMapping(method = GET, value = "/clients?someValue=foo&someEnum=bar")
Client getClients();

私は、に取り組んでいますspring-cloud-starter-feign 1.2.7.RELASE含まれているバージョン、feign-core/sl4fj/hystrix/ 9.3.1バージョン、私もこれと同じ結果で、10.1.0バージョンでそれをテストしました。

私はこの問題を解決するために何をすべき?

カミルには:

私のプロジェクトで、私は使用spring-cloud-dependenciesしてCamden.SR7含まれているバージョン9.3.1の最新バージョンである現在の時点で、装うバージョンをFinchley.RELEASE装う含まれている9.7と私はそれが専用だ見るspring-boot 2.x.x上で実行されますが、私の全体のインフラ(設定/ユーレカサーバー)1.5.xそれは次の問題を発生させます。私は装うためのgithubのドキュメントを見ていた、と私は発見された@Param注釈が役に立つかもしれませんが、私は3つの引数を持つメソッドでそれを使用する場合は、例外がスローされますMethod has too many Body parameters~最後に注釈@RequestParam春からは、回避策として動作しますが、私たちはこれらの注釈を組み合わせることができ、情報の任意のソースが見つかりませんでした。

@RequestMapping(method = GET, value = "/clients")
Client getClients(@RequestParam("someValue") String someValue, @RequestParam("someEnum") String someEnum);

私が見つかりませんでしたspring-cloud-dependencies含まれているバージョン9.7装うが、それは専用だspring-boot 1.5.xアプリケーション。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=189542&siteId=1