私たちのプロジェクトでは、インターフェイスと実装クラスがあります 私たちは@RequestMappingアノテーションで注釈付けされたすべてのメソッドシグネチャを提供します。このインタフェースを実装しているクラスには、@RestControllerアノテーションと@RequestMappingアノテーションが注釈され、そのインタフェースのすべてのメソッドがオーバーライドされます。@RequestBodyまたは@RequestHeaderをメソッドパラメータとして与えると、SpringブートはRestful WSを作成しません
問題:方法のいずれにおいても、iはパラメータとして@RequestBody又は@RequestHeaderを与えると、ばねブートも界面における@RequestMappingに示さ/ V1/myapi /負荷のURLを作成していません。しかし、私はURLを作成するだけの空のパラメータを与える場合。
また、インターフェイスメソッドから@RequestMappingアノテーションを削除し、コントローラクラスのメソッドでメソッドパラメータに何も指定しなくてもそのメソッドを提供すれば、それもわかりました。
@RequestBodyまたは@RequestHeaderをメソッドパラメータとして使用すると、インターフェイスで提供される@RequestMappingが考慮されない理由を知りたいだけです。 (あなたは1を持っていることを選択した場合)
@Controller
@RequestMapping("/v1/myapi/")
public class MyControllerClass implements MyInterface{
@Override
public ResponseObject method1(@RequestBody String request, @RequestHeader(name= HttpHeaders.AUTHORIZATION) String token){
}
//Interface Class
public interface MyInterface {
@RequestMapping(method = RequestMethod.POST,value="/load",produces = MediaType.APPLICATION_JSON_VALUE)
ResponseObject method1(@RequestBody String request, @RequestHeader(name= HttpHeaders.AUTHORIZATION) String token) throws Exception;
}
ありがとうございます。今、それは意味をなさない、私はすべての私のRequestMappingは、その中のメソッドのパラメータに関係なく作成されるのを見ることができます。 –