34

まず、「Spring MVC で HTTP OPTIONS を処理する方法」を読みましたが、答えは Spring Boot に直接適用できるようには見えません。

これを行う必要があるようです:

に設定してdispatcherServletを構成し dispatchOptionsRequestますtrue

しかし、XML構成がない場合、またはDispatcherServletコードにさまざまな初期化クラスがない場合(この回答で言及されています) 、どうすればよいですか?

クラスには、@RestController現在呼び出されていないこのようなメソッドがあります。

@RequestMapping(value = "/foo", method = RequestMethod.OPTIONS)
public ResponseEntity options(HttpServletResponse response) {
    log.info("OPTIONS /foo called");
    response.setHeader("Allow", "HEAD,GET,PUT,OPTIONS");
    return new ResponseEntity(HttpStatus.OK);
}

スプリング ブート 1.2.7.RELEASE; Spring REST ガイドのセットアップとそれほど変わらない単純なセットアップ 。

4

3 に答える 3

0

Spring Boot 2.2.6を使用して、カスタム メソッドOPTIONSを簡単に追加できます。StrictHttpFirewall

@Bean
public StrictHttpFirewall httpFirewall() {

    StrictHttpFirewall firewall = new StrictHttpFirewall();
    firewall.setAllowedHttpMethods(Arrays.asList("GET", "POST", "OPTIONS", "FOO"));

    return firewall;
}
于 2020-04-25T20:54:08.303 に答える