MapleStory Cookie With Halo

โ˜ Network/๐ŸŒ HTTP

[HTTP]Request-HTTP message body

๋‰ด์ด NUEY 2025. 2. 27. 19:09
๋ฐ˜์‘ํ˜•

 

  • HTTP message body์— ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ๋‹ด์•„์„œ ์š”์ฒญํ•˜๋Š” ๋ฐฉ๋ฒ•.

    • HTTP API(REST API)์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ.

    • ๋ฐ์ดํ„ฐ ํ˜•์‹: Json, xml, text.

    • method ํ˜•์‹ : POST, PUT, PATCH.

  • ๋ฐ์ดํ„ฐ๋ฅผ InputStream์„ ์‚ฌ์šฉํ•ด ์ง์ ‘ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.

  • text๋ฅผ ํ™œ์šฉํ•œ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ

 

๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š”
Json๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด๋ณด์ž
  1. ํ”„ ๋กœ์ ํŠธ ์ƒ์„ฑ์‹œ ๊ธฐ๋ณธ ์ƒ์„ฑ๋œ ํ”„๋กœ์ ํŠธApplication์—  @ServletComponentScan ์„ ๋‹ฌ์•„์ค€๋‹ค.
    → ์„œ๋ธ”๋ฆฟ์„ ์ฐพ์•„ ์„œ๋ธ”๋ฆฟ์ปจํ…Œ์ด๋„ˆ์— ๋‹ด์•„์ค€๋‹ค.
  2. Json ๊ฐ์ฒด๋กœ ๋งŒ๋“ค ํด๋ž˜์Šค๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ๋‹ค.
  3. postman์—์„œ jsonํ˜•์‹์œผ๋กœ ์‹คํ–‰ํ•ด๋ณด์ž
  4. 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

๋ฐ˜์‘ํ˜•