Wanna be Brilliant Full-Stack Developer

Spring Boot Project @ResponseBody 사용하기 본문

Back-End/Spring Boot

Spring Boot Project @ResponseBody 사용하기

Flashpacker 2022. 2. 9. 17:10

가입하기 창

  <!--회원가입 인풋-->
                        <form class="login__input"  action="/auth/signup" method = "post">
                            <input type="text" name="username" placeholder="유저네임" required="required" />
                            <input type="password" name="password" placeholder="패스워드" required="required" />
                            <input type="email" name="email" placeholder="이메일" required="required" />
                            <input type="text" name="name" placeholder="이름" required="required" />
                            <button>가입</button>
                        </form>
                        <!--회원가입 인풋end-->

이름이나 이메일 입력하지 않고 가입하기를 하면 프론트단(required="required") 에서 막히게 되는데 왜 우리는 SignupDto.java에서 왜 @NotBlank를 하였는가? 

 

그 이유는 우리가 컨트롤러에서 @PostMapping("/auth/signup") 을 할때 

PostMan으로 요청을 하게 되면 프론트단에서 막는것이 안되기 떄문에 백엔드 단에서도 막아줘야한다.

이런것을 잘막으면 프로그램을 좀더 깔끔하게 작성가능하다. 

 

이제는 회원가입창을 보여주는것이 아니라 오류창을 보여줄것이다.

 

컨트롤러 니까 무조건 리턴 타입이 String 이면  파일을 리턴한다 ( return "auth/signin" ;) 

하지만 public @ResponseBody를 리턴타입 앞에 붙어있으면 데이터를 응답한다

이제는 데이터를 리턴하는 메소드가 되었는데 

언제는 데이터를 리턴해야하고 언제는 파일을 리턴해야되고 이런식으로 되면 굉장히 프로그램을 작성하는데 불편해진다. 그래서 컨트롤어드바이스라는것을 만들어서 처리할것이다.