반응형 분류 전체보기99 [JAVA] jackson -JsonInclude 속성 (null, empty등의 데이터 제외하기) VO객체를 JSON으로 변환할 때 포함되면 안되는 변수에 @JsonIgnore 어노테이션을 선언하여 JSON에 포함되지 않도록 할 수 있다. 하지만 상황에 따라 json 포함 여부가 달라지는 경우 아래와 같은 방법을 사용하면 된다. ObjectMapper mapper = new ObjectMapper(); mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); //null인 데이터를 제외하고 json 생성 mapper.writeValueAsString(testVO); VO에 default로 적용하려면 VO Class에 @JsonInclude 어노테이션을 선언하면 된다. @JsonInclude(JsonInclude.Include.NON_NULL) .. 2022. 3. 11. [Spring Framework] CORS 적용하기 - @CrossOrigin, <mvc:cors>, Filter CORS란? test2.com:8080사이트와 test.com:18080 사이트는 도메인과 포트가 다르다. 따라서 test.com:18080에서 test2.com:8080사이트로 요청을 보내게 되면 아래와 같은 에러를 만날 수 있다. Access to XMLHttpRequest at 'http://domain1:8080/xxxxx' from origin 'http://test.com:18080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. http://localhost:8080/test/1 를 기준으로 비교해보면 URL 출처 비고 http://local.. 2022. 3. 11. [JAVA] The method getRealPath(String) from the type ServletRequest is deprecated WEB-INF 경로에 있는 특정 파일의 절대경로를 가져오려고 아래와 같이 작성했는데 'The method getRealPath(String) from the type ServletRequest is deprecated'라는 경고 문구가 표시되었다. request.getRealPath("/WEB-INF/xxx/xxx.txt"); 해결방법 request.getSession().getServletContext().getRealPath("/WEB-INF/xxx/xxx.txt"); jsp에선 아래와 같이 바꿔주면 된다! application.getRealPath("/WEB-INF/xxx/xxx.txt"); 2022. 3. 11. [Web] Received fatal alert: handshake_failure 에러 이 에러는 서버와 클라이언트간의 TLS 버전이 달라서 발생하는 에러이다. Received fatal alert: handshake_failure 서버는 JDK 1.6이라 TLSv1만 지원을 하고 있다. 따라서 https.protocols을 TLSv1로 지정해야 한다. jdk 버전 Default Other Support 1.6 TLS 1.0 TLS 1.1(111이후 버전), SSL v3.0 1.7 TLS 1.0 TLS 1.1, TLS 1.2, SSL v3.0 1.8 TLS 1.2 TLS 1.0, TLS 1.1, SSL v3.0 ※ JDK 1.6.0_111 이후 TLS1.1 지원, 1.6.0_121 이후 TLS 1.2 지원(단, jsse.enableSNIExtension 등의 옵션 설정은 불가능) 해결 방법.. 2022. 3. 8. [JAVA] com.fasterxml.jackson.databind.JsonMappingException: Invalid UTF-8 start byte 0xbf 서버로 한글이 포함된 json 메시지를 보냈는데 아래와 같은 에러가 발생하였다. com.fasterxml.jackson.databind.JsonMappingException: Invalid UTF-8 start byte 0xbf 한글을 입력하는 html의 contentType 및 pageEncoding이 UTF-8로 선언되어있음에도 불구하고, 서버쪽에서 UTF-8로 받지 못하였다. 그리고 json string을 바이너리로 변환할 때 UTF-8로 인코딩되도록 하였지만 현상은 동일했다. 해결방법 1 Run>Run Configurations에서 Tomcat 선택 후 Common 탭에서 Encoding을 UTF-8로 바꿔준다. 해결방법 2 Run>Run Configurations에서 Tomcat 선택 후 Arg.. 2022. 3. 8. [Web] Restful API란? API (Application Programming Interface) 소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 명령을 받을 수 있는 수단 정보를 주고 받는 일종의 형식 정보를 요청한는 지정된 형식이 있어야 함 Restful API 과거의 SOAP라는 복잡한 형식 대체 가장 중요한 특성은 각 요청이 어떤 동작이나 정보를 위한 것인지 그 요청의 모습 자체로 추론이 가능해야 함 URL만 봐도 어떤 요청을 하기 위함인지 파악할 수 있어야 함! - 'https://domain/1, https://domain/hello ' : 무슨 기능인지 명확히 파악하기 어려움 - https://도메인/classes : class 목록을 받아오는 요청이라는 것을 파악할 수 있음 { "result":[ {"idx":1,.. 2022. 2. 21. [프로그래머스/JAVA] 가장 큰 수 - 정렬 이 문제도 쉽게 잘 풀렸다고 생각했고, 문제의 예제가 내가 대입한 숫자로는 결과가 잘 나왔다. 하지만 테스트 33.3 점을 받았다..ㅎㅎ 이 정도면 예제가 운 좋게 맞은 수준.. public String solution(int[] numbers) { String answer = ""; Integer[]numbers2 = Arrays.stream(numbers).boxed().toArray(Integer[]::new); Arrays.sort(numbers2, new Comparator() { @Override public int compare(Integer o1, Integer o2) { if(o1.toString().charAt(0) == o2.toString().charAt(0)) { if(o1.toS.. 2022. 2. 20. [프로그래머스/JAVA] K번째수 - 정렬 레벨 1이라 빠르고 쉽게 풀었다! public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for(int i=0; i 2022. 2. 20. 이전 1 2 3 4 5 6 7 ··· 13 다음 728x90 반응형