안녕하세요 선생님 스프링 부트 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 님 322
2022년 8월 24일 8:31 오후