JAVA/Spring MVC

    [자바 intellij] @RequestParam? @ModelAttribute? @RequestBody는 또 뭐야??

    이번 포스팅에서는 위 3가지 에노테이션들에 대해 비교해볼 건데 핵심은 @RequestParam과 @ModelAttribute는 주로 파라미터 값을, @RequestBody는 Http Body 값을 가져오기 위해 활용하는 에노테이션들입니다. # @RequestParam 정말 자주 쓰이는 에노테이션으로 개발을 한다면 꼭 한번 마주칠 개념입니다. 위에서 @RequestParam은 파라미터를 가져온다고 했는데 다음의 예시를 보면 이해가 편하실 것입니다. 네이버에서 세계일보 사이트에 들어가면 다음과 같은 url을 확인할 수 있습니다. newsstand.naver.com/까지는 이해하겠는데 그 뒤의 내용은 무엇일까요? 이것이 바로 Http 요청 파라미터입니다. 해당 url에서는 각각 list와 pcode라는 파라미..

    자바 Spring MVC에서의 예외 처리 @ExceptionHandler, @RestControllerAdvice

    이전 글에서 배운 DTO 클래스의 유효성 검증을 통해 위 동그라미 부분처럼 Email 형식을 지키지 않던가, 아무 값도 들어있지 않다면 그 아래처럼 에러 메시지가 전송된다는 것을 확인할 수 있었습니다. 2022.06.28 - [CodeStates/Spring MVC] - [자바 Spring] DTO에 대해 배워보자 [자바 Spring] DTO에 대해 배워보자 DTO(Data Transfer Object)란 계층간 데이터 교환을 위해 사용하는 객체(Java Beans)입니다. DTO 중 T인 Transfer라는 의미에서 알 수 있듯이 데이터를 전송하기 위한 용도의 객체 정도로 생각할 수 있습니다. jungdo8016.tistory.com 효과적인 예외처리를 위해 별도의 클래스 하나를 생성하겠습니다. @Ge..

    [Spring 자바] Mapper에 대해 알아보자

    이전 글인 DTO의 개념을 포함하고 있습니다. 2022.06.28 - [CodeStates/Spring MVC] - [자바 Spring] DTO에 대해 배워보자 [자바 Spring] DTO에 대해 배워보자 DTO(Data Transfer Object)란 계층간 데이터 교환을 위해 사용하는 객체(Java Beans)입니다. DTO 중 T인 Transfer라는 의미에서 알 수 있듯이 데이터를 전송하기 위한 용도의 객체 정도로 생각할 수 있습니다. jungdo8016.tistory.com Mapper은 쉽게 말해 하나의 클래스를 특정 클래스의 형태로 변환해 주는 것을 말합니다. 예를 들어 보겠습니다. @PostMapping public ResponseEntity postMember(@Valid @Request..

    [자바 Spring] DTO에 대해 배워보자

    DTO(Data Transfer Object)란 계층간 데이터 교환을 위해 사용하는 객체(Java Beans)입니다. DTO 중 T인 Transfer라는 의미에서 알 수 있듯이 데이터를 전송하기 위한 용도의 객체 정도로 생각할 수 있습니다. 일반적으로 웹에서 데이터 전송은 클라이언트에서 서버 쪽으로 전송하는 요청 데이터, 서버에서 클라이언트 쪽으로 전송하는 응답 데이터의 형식으로 이루어집니다. 즉, "DTO는 서버와 클라이언트의 데이터 전송에 사용하는 객체이다"라고 이해해 주시면 좋을 것 같습니다. # DTO가 필요한 이유 코드의 간결성 유효성 검증 @RestController @RequestMapping("/v1/members") public class MemberController { @PostMap..

    [자바 Spring] HTTP Request 헤더(Header) 정보 얻기

    오늘은 서블릿을 통해 Controller로 Http 요청을 받을 때, 요구사항 속 Request 헤더의 정보를 가져오는 여러가지 방법에 대해 알아보겠습니다. 1. @RequestHeader() @RestController @RequestMapping(path = "/Hello/Practice") public class PracticeFile { @PostMapping public ResponseEntity headerPractice(@RequestHeader("user-agent") String userAgent,// 핵심코드 @RequestParam("Name") String name, @RequestParam("phone") String phone, @RequestParam("price") int p..

    자바 Spring MVC의 개념에 대해 알아보자

    Spring이 지원하는 묘듈 중에는 웹 계층을 담당하는 몇가지의 모듈들이 있습니다. 그중 특히 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 모듈이 있는데 이 묘듈의 이름이 바로 spring-webmvc 입니다. 개발자들 사이에서는 Spring Web MVC를 줄여서 Spring MVC라고 부르고 있고, Spring MVC가 웹 프레임워크의 한 종류이기 때문에 Spring MVC 프레임워크라고도 부릅니다. ** 여기서 서블릿이란? ** 더보기 서블릿을 간단히 말하자면 클라이언트의 요구를 수용하고 전달하고자 하는 메시지를 반환하는 웹 프로그래밍 기술이라고 할 수 있습니다. 다음 그림은 클라이언트와 서블릿이 웹 상에서 서로 요청 및 응답을 주고 받는 구조를 정리한 것입니다. 클라이언트..