안녕하세요 선생님 스프링 부트 2-15 질문 등록과 폼에 대해 질문이 있습니다.

아래 코드에서 bindingResult 가 오류가 난다면 question_detail 로 리턴하는데 question_detail 에는 question 객체가 필요하므로
model.addAttribute("question", question); 이렇게 작성한 이유를 알겠습니다 그런데 question_detail 에는 answerForm 객체도 필요한데 현재 createAnswer 파라미터로 AnswerForm answerForm 이 존재하기에 따로 question_detail 에 answerForm 객체를 추가할 필요가 없는건가요?

package com.mysite.sbb.controller.answerController;

import com.mysite.sbb.entity.question.Question;
import com.mysite.sbb.service.AnswerService;
import com.mysite.sbb.service.QuestionService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.validation.Valid;

@Controller
@RequestMapping("/answer")
@RequiredArgsConstructor
public class AnswerController {

private final QuestionService questionService;
private final AnswerService answerService;

@PostMapping("/create/{id}")
public String createAnswer(Model model, @PathVariable("id") Long id,
                           @Valid AnswerForm answerForm, BindingResult bindingResult) {

    Question question = questionService.getQuestion(id);
    if (bindingResult.hasErrors()) {

        model.addAttribute("question", question);
        return "question_detail";
    }

    answerService.create(question, answerForm.getContent());
    return String.format("redirect:/question/detail/%s", id);
}

}

acs0209 242

2022년 8월 24일 8:31 오후

2-15장을 보시면 가장 뒷 부분에 QuestionController의 detail 메서드에 AnswerForm을 추가하는 내용이 있습니다. - 박응용님, 2022년 8월 24일 9:17 오후 추천 , 대댓글
@박응용님 bindingResult 에 오류가 나서 question_detail 을 return 할때 @RequestMapping(value = "/detail/{id}") public String detail(Model model, @PathVariable("id") Integer id, AnswerForm answerForm) { (... 생략 ...) } 위 detail 함수가 자동으로 실행이 되서 question_detail 에 answerForm 객체가 추가되는 건가요? - acs0209님, 2022년 8월 24일 9:58 오후 추천 , 대댓글
목록으로