목록분류 전체보기 (783)
쌓고 쌓다

문제의 코드를 보자. @GetMapping("...") public String kakaoOauth(HttpServletResponse response) { Cookie idCookie = new Cookie("memberId", String.valueOf(member.getId())); response.addCookie(idCookie); /* 출력 찍어보기 */ System.out.println("idCookie.getMaxAge() = " + idCookie.getMaxAge()); System.out.println("idCookie = " + idCookie.getPath()); } 쿠키의 Key와 Value를 설정하고 응답에 쿠키를 넣었다. 응답으로 쿠키가 잘 설정되었지만... 쿠키가 저장이 되..

카카오 로그인 API를 다루며 서버에서 JSON 형태의 데이터를 요청하여 받아 사용할 일이 생겼다. JSONObject 설정 JSONObject를 사용하기 위해서 https://mvnrepository.com/open-source/json-libraries 위의 링크를 타고 들어가 아래의 JSON In Java를 클릭하자. 버전을 선택하고 나는 Gradle이라 위의 내용을 Gradle에 추가해주었다. 다룰 JSON String 데이터 { "kakao_account" : { "email" : "test@google.com", { "profile" : { "nickname" : "LSM" } } } } 위의 형태로 JSON을 받았다고 하자. 보기 좋게 최대한 타이핑 해봤는데 그냥 아래의 블럭을 보자. kak..

서버에서 외부 api를 사용할 일이 있어서 restTemplate라는걸 사용해보는데... 아래의 에러가 발생.! 문제의 코드 RestTemplate restTemplate = new RestTemplate(); HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED); Map map = new HashMap(); map.put("grant_type", grantType); map.put("client_id", clientId); map.put("redirect_uri", redirectUri); map.put("code", ingaCode); HttpEntity r..

MessageCodesResolver 메시지 생성 규칙 MessageCodesResolver는 에러 코드를 가지고 에러 메시지 코드들을 생성해준다. 규칙은 아래와 같다. ObjectError 1. code.object name 2. code FieldError 1. code.object name.field 2. code.field 3. code.field type 4. code rejectValue()와 reject()는 MessgeCodesResolver를 이용한다. rejectValue, reject가 FieldError, ObjectError를 생성해주는데 FieldError, ObjectError는 에러 코드들을 여러개 가질 수 있다. 그래서 MessageCodesResolver를 통해 생성된 오..

어쩌다 직면한 이 에러에 오늘 하루 다 보냈다...ㅎㅎ 먼저 상황을 보자. 에러 발생 상황 컨트롤러에 작성된 @InitBinder, @Validated를 통해 유효성 검사를 실시한다. public class ValidationItemControllerV2 { private final ItemValidator itemValidator; @InitBinder public void init(WebDataBinder dataBinder) { dataBinder.addValidators(itemValidator); } @PostMapping("/add") public String addItemV5(@Validated @ModelAttribute Item item, BindingResult bindingResult..

문제 상황 필드 Validation 검사로 에러 메시지를 errors.properties에 작성했고 화면에 문제 내용을 뿌려주고싶었다. 그런데 한글이 ??로 출력되는 문제가 발생했다. 그런데 영어는 또 잘 나온다. 저번에도 ?? 출력 관련 문제가 있어서 인코딩을 건드렸었는데 이번에도 인코딩에 문제가 있는 것 같다. 일단 문제 상황을 보자 errors.properties #level4 require=필수 값입니다. errors.properties #level4 require=need. 영어로 하면 잘 된다.. 해결 방법 설정 -> Editor -> File Encodings에 아래의 encoding properties file의 값을 UTF-8로 설정 해결 완료~
https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 예약 시간들이 주어졌다. 00:00시부터 24:00시까지 값을 가지는 배열이 있다고 생각하자. 현재 배열의 값은 0으로 초기화되어있다. 입실 시간부터 퇴실 시간까지 값을 1 더해준다. 다음 예약 시간의 입실 시간부터 퇴실 시간까지 값을 1 더해준다. 이렇게 더해주면 겹치는 부분은 +1씩 겹치는 만큼 값을 갖는다. 이때 배열의 값중에서 제일 큰 값이 모든 방을 관리하는데 필요한 방의 개..
앞서 작성한 bindingResult를 보자. bindingResult.addError(new ObjectError("poster", null, null, "조건: 키와 몸무게 합은 150이상.")); ObjectError 객체를 생성하는데 번거로움이 있다. 이것을 더 간략히 해보자. BindingResult 파라미터의 위치는 @ModelAttribute 뒤에 위치한다. 그러므로 앞서 작성한 ObjectError 객체 생성에 objectName인 "poster"를 작성할 필요가 있을까? 그렇다. BindingResult는 검증할 객체를 알고 있다. log.info("objectName={}", bindingResult.getObjectName()); log.info("target={}", bindingR..