[解決]CORSエラーの解決
緒論
今回オンラインページを作成し、springバックエンドと協力するのは初めてで、apiをバインドするときに出会った最初の問題です.
バックグラウンドの어? 왜 이게 안돼죠? 코드 다 맞는데?
とgooglingで解決しました
メンバーデータをpostリクエストに送信し、chromeで確認するとこのようなエラーが発生します.
2つ目の言い方はCORS errorで、検索すると同じソースでしかデータを共有できないセキュリティポリシーであることがわかります.
このサイトにおいて方法が見出され、CrossOrigin annotation
を用いて解決される.@RestController
@RequestMapping(value = "/api/threats", produces = "application/json")
@CrossOrigin(origins = "http://front-server.com") // 컨트롤러에서 설정
public class ThreatController {
private final ThreatService threatService;
public ThreatController(ThreatService threatService) {
this.threatService = threatService;
}
@GetMapping
@CrossOrigin(origins = "http://front-server.com") // 메서드에서 설정
public ResponseEntity<ThreatLogCountResponse> getAllThreatLogs() {
return ResponseEntity.ok(threatService.getAllThreatLogCount());
}
}
controller class
に設置してもよいし、method
に設置してもよい.
Reference
この問題について([解決]CORSエラーの解決), 我々は、より多くの情報をここで見つけました
https://velog.io/@jhjeong00/Solved-CORS-에러-해결
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
@RestController
@RequestMapping(value = "/api/threats", produces = "application/json")
@CrossOrigin(origins = "http://front-server.com") // 컨트롤러에서 설정
public class ThreatController {
private final ThreatService threatService;
public ThreatController(ThreatService threatService) {
this.threatService = threatService;
}
@GetMapping
@CrossOrigin(origins = "http://front-server.com") // 메서드에서 설정
public ResponseEntity<ThreatLogCountResponse> getAllThreatLogs() {
return ResponseEntity.ok(threatService.getAllThreatLogCount());
}
}
Reference
この問題について([解決]CORSエラーの解決), 我々は、より多くの情報をここで見つけました https://velog.io/@jhjeong00/Solved-CORS-에러-해결テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol