본문 바로가기

TIL

[TIL] 2021.01.22 HttpExchange, getRequestBody(), InputStreamReader, Charset, Unicode, BufferedReader, JSON을 java object로 바꾸는 방법

반응형

Facts

코드숨 Spring 과제 업데이트

코딩테스트 연습 짝프로그래밍 (어제 것 리팩토링)

Feelings

OK

Findings

InputStream requestBody = exchange.getRequestBody();
String body = new BufferedReader(new InputStreamReader(requestBody))
	.lines()
	.collect(Collectors.joining("\n"));

위의 코드를 뜯어보자!

 

HttpExchange

client의 요청과 반응을 보내거나 핸들링하기 위해 사용하는 클래스.

 

getRequestBody()

HttpExchange의 메소드

InputStream requestBody가 읽혀지는 Stream을 반환한다. 

 

InputStreamReader

byte 스트림과 character 스트림의 가교 역할

bytes를 읽어서 특정한 Charset으로 디코딩한다.

 

Charset

문자셋이라는 의미.

Java의 추상클래스 : Unicode code unit들과 bytes의 각 element를 연결한 mapping을 구현시킨다.

 

Unicode

전세계 인간이 사용하는 문자를 컴퓨터가 이해할 수 있는 언어로 인코딩할 때 사용하는 국제표준

 

BufferedReader

문자 입력 스트림에서 text를 읽는다. 입력값을 효율적으로 처리하기 위해서 버퍼에 저장하여 읽는다.

읽은 문자를 int로 반환한다.

Buffer와 BufferedReader, BufferedWriter에 관한 설명 - jhnyang.tistory.com/92

 

lines랑 collect는 이따가 알아보겠다..

 

JSON을 java object로 바꾸는 방법

ObjectMapper 클래스의 readValue 메소드를 사용한다.

readValue 메소드 사용법

 

Future Action Plans

맛있는 저녁 먹기

루비로 배우는 객체지향 디자인

Feedback

충만한 하루였다. 이제 쉬어야지

반응형