JSON 6

Bean Validation

대부분의 특정 필드에 대한 검증 로직은 일반적인 로직이고 공통적이다. 이런 검증 로직을 모든 프로젝트에 적용하도록 공통화, 표준화한것이 바로 Bean Validation!! public class Item { private Long id; @NotBlank private String itemName; @NotNull @Range(min = 1000, max = 1000000) private Integer price; @NotNull @Max(9999) private Integer quantity; } Bean Validation이 뭔데? Bean Validation은 특정한 구현체가 아니라 Bean Validation 2.0(JSR-380)이라는 기술 표준. 검증 애노테이션과 여러 인터페이스의 모음. 이..

Spring/Spring MVC 2021.07.14

HTTP Request Message

단순 텍스트 Request Parameter와 다르게, HTTP Message Body를 통해 데이터가 직접 넘어오는 경우는 @RequestParam, @ModelAttribute를 사용할 수 없다. 먼저 단순한 텍스트를 HTTP Message Body에 담아서 전송하고, 이를 InputStream으로 읽어보자. Spring 공식 문서를 참조하면 알 수 있듯이, InputStream과 OutputStream을 직접 받을 수 있다. 따라서 아래와 같이 코드를 작성할 수 있다. 스프링 MVC는 다음 파라미터를 지원한다. HttpEntity : HTTP header, body 정보를 편리하게 조회 메시지 바디 정보를 직접 조회 요청 파라미터를 조회하는 기능과 관계 없음 HttpEntity는 응답에도 사용 가능..

Spring/Spring MVC 2021.05.09

개발형 코테

주로 클라이언트-서버간의 통신을 주고받는 형식으로 개발을 진행 클라이언트 서버 HTTP 개요 파이썬 웹 요청 예제 : GET 방식 import requests target = "http://google.com" response = requests.get(url=target) print(response.text) get방식으로 google에 접속하여 가져온 응답(response)를 text형식으로 출력하였다. 개발형 코딩 테스트의 핵심 키워드 : REST API, JSON REST의 등장 배경 REST 개요 REST API JSON JSON 객체 사용 예제 import json user = { "id": "minchul", "password": "1234", "age": 25, "hobby": ["codi..

HTTP 응답 데이터

HTTP 응답 메시지는 주로 다음 내용을 담아서 전달 단순 텍스트 응답 ==> writer.println("ok") HTML 응답 HTTP API - MessageBody JSON 응답 HTML 응답 utf-8지정안해주면 한글깨짐 HTTP응답으로 HTML을 반환할 때는 content-type을 text/html로 지정해줘야함 페이지 소스보기를 해보면 html태그들이 삽입되있는 것을 확인할 수 있음. API JSON 마찬가지로 jackson라이브러리의 ObjectMapper를 사용한다. jackson 라이브러리가 제공하는 objectMapper.writeValueAsString()을 사용하면 객체를 JSON 문자로 변경할 수 있다. application/json은 스펙은 utf-8 형식을 사용하도록 정의되..

Spring/Spring MVC 2021.04.06

HTTP 요청 데이터 - API 메시지 바디

단순 텍스트 HTTP 메시지 바디에 단순한 텍스트를 담아서 전송해보겠다. HTTP 메시지 바디의 데이터를 InputStream을 사용해서 직접 읽을 수 있다. getInputStream은 바이트 코드로 변환하여 반환해준다. 이를 java에서 제공하는 StreamUtils를 사용하여 문자열로 변환 후 출력하여보겠다. 변환할 문자의 기준을 정해주어야함. StandardCharsets 단순 텍스트 읽어오기 성공! JSON HTTP API에서 주로 사용하는 JSON형식으로 데이터를 전달해보자. content-type: application/json JSON 형식으로 파싱할 수 있게 객체 생성 Lombok을 사용해서 게터, 세터 JSON도 문자이기 때문에 InputStream을 사용하여 문자열로 변환한 후에 출력..

Spring/Spring MVC 2021.04.04

API

들어가며 API(Application Programming Interface) “API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.” 쉽게 말해 프로그램 간의 데이터 정보를 주고받을 수 있도록 도와주는 매개체 정도로 생각을 하면 될듯하다. 이는 JSON이라는 데이터 표준 포멧을 통하여 주고받는다. @ResponseBody? 뷰 리졸버를 사용하지 않고, HTTP에 직접 return값을 보내겠다는 의미 Body는 html에서의 body를 의미하는 것이 아니라, HTTP에서의 BODY를 의미한다. HTTP = HTTP Heade..

반응형