[SPRING] 휴식 컨트롤러에서 코러스 문제 제거 방법
SPRING휴식 컨트롤러에서 코러스 문제 제거 방법
내 프로젝트에서 다른 서버의 클라이언트 응용 프로그램에서 호출하는 나머지 끝점이 있습니다. @CrossOrigin 주석을 사용하여 Cors를 성공적으로 사용 중지했으며 Chrome에서 다음 오류가 발생하는 Delete 메소드를 제외한 모든 메소드가 정상적으로 작동합니다.
XMLHttpRequest는 http : // localhost : 8856 / robotpart / 1291542214 / compatibilities를로드 할 수 없습니다. 프리 플라이트 요청에 대한 응답이 액세스 제어 검사를 통과하지 못합니다. 'Access-Control-Allow-Origin'헤더가 요청 된 자원에 없습니다. 따라서 출처 'http://127.0.0.1:8888'은 액세스가 허용되지 않습니다. 응답에는 HTTP 상태 코드 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) {
//...
}
}
주위에?
해결법
-
==============================
1.HTTP 요청을 분석 한 후 해결책을 찾았는데, Access Control-Allow-Methods 헤더에 DELETE 메소드가 없으므로 @CrossOrigin 주석을 삭제하고이 bean을 구성에 추가하여 추가했습니다.
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"); } }; }
from https://stackoverflow.com/questions/43166984/delete-method-cors-issue-in-rest-controller by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring Data Neo4J 4.0.0 : BeforeSaveEvent가 실행되지 않습니까? (0) | 2019.04.26 |
---|---|
[SPRING] 봄과 아약스 (0) | 2019.04.26 |
[SPRING] 프로그래밍 방식으로 로그인 할 때 생성 된 쿠키를 기억하십시오 (0) | 2019.04.26 |
[SPRING] Zuul은 kubernetes에서 서비스로 트래픽을 라우팅 할 수 없습니다. (0) | 2019.04.26 |
[SPRING] 카프카 스프링 통합 : 카프카 소비자에게 헤더가 오지 않는다. (0) | 2019.04.26 |