spring get/post로 다른 화면 출력

김희영·2025년 9월 3일

spring

목록 보기
1/26

같은 url도 get,post로 나눠서 보여줄 거 다르게 할 수 있음

 // /posts/write를 GET 요청하면 글쓰기 폼을 보여줌
    @GetMapping("/posts/write")
    public String write(@ModelAttribute("form") PostWriteForm form) {
        return "post/write";
    }
    // /posts/write를 POST 요청하면 글쓰기 처리
    @PostMapping("/posts/write")
    public String doWrite(
            @ModelAttribute("form") @Valid PostWriteForm form, BindingResult bindingResult,
            //postWriteForm 이라는 이름으로 form 데이터를 받아옴.(@Attribute 생략 가능)
            // @Valid로 유효성 검사 (PostWriteForm 클래스에 정의된 제약 조건들)
            // BindingResult result : 유효성 검사 결과를 담는 객체
            Model model){
        if(bindingResult.hasErrors()) {
            return "post/write";
        }
        Post post = postService.write(form.title, form.content);
        model.addAttribute("id", post.getId());
        return "post/writeDone";
    }

+)

<meta http-equiv="refresh" content="이동하기 원하는 링크"/>

writedone에서 화면 자동 이동이 가능하다
그러나 그냥 컨트롤러에서 바로 이동시키는 편이 더 좋다.

return "redirect:/post/write";
profile
내는 반드시 엄청난 개발자가 되고 말것어

0개의 댓글