๋ฐ์ํ
- HTTP message body์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ๋ด์์ ์์ฒญํ๋ ๋ฐฉ๋ฒ.
- HTTP API(REST API)์์ ์ฃผ๋ก ์ฌ์ฉ.
- ๋ฐ์ดํฐ ํ์: Json, xml, text.
- method ํ์ : POST, PUT, PATCH.
- HTTP API(REST API)์์ ์ฃผ๋ก ์ฌ์ฉ.
- ๋ฐ์ดํฐ๋ฅผ InputStream์ ์ฌ์ฉํด ์ง์ ์ฝ์ ์ ์๋ค.
- text๋ฅผ ํ์ฉํ ๊ฐ๋จํ ์์
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋
Json๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด๋ณด์
- ํ ๋ก์ ํธ ์์ฑ์ ๊ธฐ๋ณธ ์์ฑ๋ ํ๋ก์ ํธApplication์ @ServletComponentScan ์ ๋ฌ์์ค๋ค.
→ ์๋ธ๋ฆฟ์ ์ฐพ์ ์๋ธ๋ฆฟ์ปจํ ์ด๋์ ๋ด์์ค๋ค. - Json ๊ฐ์ฒด๋ก ๋ง๋ค ํด๋์ค๋ฅผ ํ๋ ๋ง๋ค์๋ค.
- postman์์ jsonํ์์ผ๋ก ์คํํด๋ณด์
- code
๐ก Jackson.*.ObjectMapper์์ ์ญ์จ์ Json์ ๋ค๋ฃจ๋ ์คํ๋ง์์ ๊ธฐ๋ณธ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ๋๋ณด๊ธฐpackage hello.servlet.basic.request; import java.io.IOException; import java.nio.charset.StandardCharsets; import org.springframework.util.StreamUtils; import com.fasterxml.jackson.databind.ObjectMapper; import hello.servlet.basic.HelloData; import jakarta.servlet.ServletException; import jakarta.servlet.ServletInputStream; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; @WebServlet(name = "requestBodyJsonServlet", urlPatterns = "/request-body-json") public class RequestBodyJsonServlet extends HttpServlet { private ObjectMapper objectMapper = new ObjectMapper(); @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletInputStream inputStream = request.getInputStream(); String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8); System.out.println("messageBody = " + messageBody); HelloData helloData = objectMapper.readValue(messageBody, HelloData.class); System.out.println("helloData.username = " + helloData.getUsername()); System.out.println("helloData.age = " + helloData.getAge()); } }
โป ์ค์ ๋ก ์ด๋ ๊ฒ ์ฌ์ฉํ์ง๋ ์๊ณ ๋ ๊ฐ๋จํ๊ฒ ์ด์ฉํ๋ค. ์ด ํฌ์คํธ๋ ๊ฐ๋ ์ค๋ช ์ ์ํด ์ถ์ํ ์ ๋จ๊ณ์ ๊ฐ๋ ์ ์ค๋ช .
โป ์ฐธ์กฐ : https://www.inflearn.com/roadmaps/373
๋ฐ์ํ
'โ Network > ๐ HTTP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[HTTP]์๋ต ๋ฐ์ดํฐ-html & json (0) | 2025.02.27 |
---|---|
[HTTP]HttpServletResponse ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ (0) | 2025.02.27 |
[HTTP]Request-method:post๋ฐฉ์ (0) | 2025.02.27 |
[HTTP]Request-method:get๋ฐฉ์ (0) | 2025.02.27 |
[HTTP]HttpServletRequest ์ค๋ช ๊ณผ ์ฌ์ฉ๋ฒ (0) | 2025.02.27 |