[Japring-Study 2] spring-mvc-2

Kim yohan·2024년 8월 8일

JapringStudy

목록 보기
2/12

두번째 과제는 spring-mvc-2이고, CRUD를 간단하게 구현해보았다!
@RequestBody, @RequestParam, @PathVariable등을 사용해, 요청과 함께 데이터를 받고,
받은 데이터를 토대로 ResponseEntity를 사용해, 상태코드와 응답메세지를 보내주면 된다.

ResponseEntity

ResponseEntity는 Spring Framework에서 HTTP 응답을 세밀하게 제어할 수 있게 도와주는 도구이다.
HTTP상태코드, 헤더, 바디 등을 포함하며, 이를 통해 클라이언트에게 다양한 응답을 줄 수 있다.

//보통
return ResponseEntity.ok("response message");

//헤더 포함
return new ResponseEntity<>("response message", headers, HttpStatus.OK);

//Redirection도 가능 - 302 Found
return ResponseEntity.status(HttpStatus.FOUND).location(location).build();

반환된 body는 등록된 HttpMessageConverter에 의해 JSON 등으로 변환된다.

HttpMessageConverter

SpringMVC에서 HTTP 요청과 응답의 body를 변환하는 데 사용되는 인터페이스이다.
예를 들면, JSON 형식을 JAVA 객체로 변환하거나, 그 반대의 경우가 있다.

다양한 구현체가 있다.

  • MappingJackson2HttpMessageConverter - JSON 형식

  • MappingJackson2XmlHttpMessageConverter - XML 형식

  • StringHttpMessageConverter - 텍스트 형식

  • FormHttpMessageConverter - 폼 데이터 처리

  • ByteArrayHttpMessageConverter - 바이트 배열 데이터 처리 (파일 업로드 및 다운로드)

    HTTP 상태코드

  • 1xx : 클라이언트의 요청이 정상적으로 수신되었으며, 처리 중임을 나타냄.

  • 2xx : 성공. 응답이 성공적으로 나갔음을 나타냄.

  • 3xx : 리다이렉션. 보통 클라이언트가 다른 URI로 리다이렉션되도록 유도함.

  • 4xx : 잘못된 클라이언트의 요청 때문에 서버가 요청을 처리할 수 없음을 나타냄.

  • 5xx : 서버 측의 오류로 요청이 정삭적으로 처리되지 못함을 나타냄.

    CRUD별 자주 쓰는 HTTP 상태코드

  • Create

    • 201 Created : 서버에 새로운 리소스가 생성됨을 나타냄.
    • 400 Bad Request : 요청이 잘못되었거나, 요청 본문에 문제가 있을 경우 사용됨.
    • 409 Conflict : 리소스가 중복되거나, 리소스 생성 시 충돌이 발생할 경우 사용됨.
  • Read

    • 200 OK
    • 404 Not Found : 요청한 리소스를 찾을 수 없음을 나타냄.
      ex. 잘못된 URI로 요청하거나, 리소스가 존재하지 않는 경우
  • Update

    • 200 OK
    • 204 No Content : 요청이 성공적으로 처리되었으나, 반환할 리소스가 없음을 나타냄.
    • 400 Bad Request
    • 404 Not Found
  • Delete

    • 200 OK
    • 204 No Content
    • 404 Not Found
profile
꾸준히 성실하게

0개의 댓글