on
[전자정부프레임워크3.9] 클라이언트에서 요청 시에 CORS 오류 발생...
[전자정부프레임워크3.9] 클라이언트에서 요청 시에 CORS 오류 발생...
[전자정부프레임워크3.9] 클라이언트에서 요청 시에 CORS 오류 발생 관련 처리 사항
출처입니다. : [Spring Boot] CORS 설정하기 (tistory.com)
Controller의 CORS 관련 예외 처리를 진행 할 메서드마다 아래 사항을 추가 하였으나 , 해결 되지 않았습니다.
response.setHeader("Access-Control-Allow-Origin","*");
@RequestMapping(value="/v1/parameterTest.json") public Object parameterTest(@RequestHeader HttpHeaders headers,@RequestBody Optional> requestBody, HttpServletResponse response, HttpServletRequest request, ModelMap model) throws Exception { String methodName = String.format("[%s][%s]", CLASSNAME, new Exception().getStackTrace()[0].getMethodName()); LOGGER.error(String.format("%s Occurred", methodName)); ResTestObject resTestObject = null; response.setHeader("Access-Control-Allow-Origin","*"); return resTestObject; }
Annotation 으로 명시 하니 클라이언트에서 발생하던 403 Error나 CORS 관련 에러는 해소 되었습니다.
@CrossOrigin(origins = "*")
@CrossOrigin(origins = "*") @RestController @RequestMapping("/rest") public class MobileController { private static final Logger LOGGER = LoggerFactory.getLogger(MobileController.class); private final String CLASSNAME = new Exception().getStackTrace()[0].getClassName(); @Resource(name = "propertiesService") protected EgovPropertyService propertiesService; . . . }
Controller 메서드 단위로도 적용 가능 한 것 같습니다.
@CrossOrigin(origins = "*")
@CrossOrigin(origins = "*") @RequestMapping(value="/v1/parameterTest.json") public Object parameterTest(@RequestHeader HttpHeaders headers,@RequestBody Optional> requestBody, HttpServletResponse response, HttpServletRequest request, ModelMap model) throws Exception { String methodName = String.format("[%s][%s]", CLASSNAME, new Exception().getStackTrace()[0].getMethodName()); LOGGER.error(String.format("%s Occurred", methodName)); ResTestObject resTestObject = null; return resTestObject; }
from http://hwoarang757.tistory.com/222 by ccl(A) rewrite - 2021-12-02 01:27:28