2017-04-02 4 views
0

別のサーバーのクライアントアプリケーションから呼び出すいくつかのRestエンドポイントがプロジェクトにあります。私は@CrossOrigin注釈を使用して正常に無効化CORSを持っている、そしてすべてのメソッドは、Chromeで次のエラーがスローされますDeleteメソッドを除いて正常に動作:削除方法残りコントローラでコーカが問題になる

XMLHttpRequest cannot load http://localhost:8856/robotpart/1291542214/compatibilities. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8888' is therefore not allowed access. The response had HTTP status code 403.

ここに私のコントローラである:

@CrossOrigin(origins = "*") 
@ExposesResourceFor(RobotPart.class) 
public class RobotPartController { 

     //All endpoints are working except the Delete Mapping 

    @GetMapping("/robotpart") 
    public ResponseEntity<List<RobotPartResource>> listAllParts() { 
     //.. 
    } 

    @GetMapping("/robotpart/{id}") 
    public ResponseEntity<RobotPartResource> getById(@PathVariable Integer id) { 
     //.. 
    } 


    @GetMapping("/robotpart/{id}/compatibilities") 
    public ResponseEntity<Collection<RobotPartResource>> getRobotCompatibilities(@PathVariable Integer id, 
      //.. 
    } 


    @PostMapping("/robotpart") 
    public ResponseEntity<RobotPartResource> getById(@RequestBody @Valid RobotPart newRobot) { 
     //.. 

    @PutMapping("/robotpart/{id}") 
    public ResponseEntity<RobotPartResource> modify(@PathVariable Integer id, @Valid @RequestBody RobotPart newRobot) { 

     //... 
    } 

    @DeleteMapping("/robotpart/{id}") 
    public ResponseEntity<RobotPart> deleteById(@PathVariable Integer id) { 

     //... 
    } 

    } 

どれでもその周りに?

答えて

2

httpリクエストを分析した後、Access Control-Allow-MethodsヘッダーにDELETEメソッドがないことがわかりましたので、@CrossOrigin注釈を削除してこのBeanを追加しました。

 @Bean 
     public WebMvcConfigurer corsConfigurer() { 
      return new WebMvcConfigurerAdapter() { 
       @Override 
       public void addCorsMappings(CorsRegistry registry) { 
        registry.addMapping("/robotpart/**").allowedOrigins("*").allowedMethods("GET", "POST","PUT", "DELETE"); 


       } 
      }; 
     } 
関連する問題