@PostMapping("/bbsSave")
public String BbsSave(Bbs bbs,
@RequestParam("street") String street,
@SessionAttribute(name = "memberId", required = false)
String loginMember) {
log.info("bbsSave(controller start)");
log.info("---------------------------" + street);
Member member = memberService.memberfindById(loginMember);
bbsService.bbsSave(bbs,street ,member);
return "redirect:/bbsLists?"+street; //리다이렉트로 보내주면 된다.
}
return "redirect:/bbsList?" + street; 로 get요청을 보내고 싶었다.
하지만 위 스샷처럼 localhost:8080/bbsLists????처럼 ???으로 나오면서 status=400 bad Request 에러가 난다.
이전 공부했던걸 다시 확인해보니
return "redirect:/bbsList?" + street; 처럼 URL에 변수를 더해서 사용하는것은 URL 인코딩이 안되기 때문에 위험하고 사용
하면 안된다는걸 모르고 있었다. 따라서 이 경우에는 RedirectAttributes를 사용해야한다.
@PostMapping("/bbsSave")
public String BbsSave(Bbs bbs,
@RequestParam("street") String street,
RedirectAttributes redirectAttributes,
@SessionAttribute(name = "memberId", required = false)
String loginMember) {
log.info("bbsSave(controller start)");
Member member = memberService.memberfindById(loginMember);
redirectAttributes.addAttribute("address", street);
bbsService.bbsSave(bbs, street, member);
return "redirect:/bbsLists?";
}
위 코드처럼 바꿔주니 의도한대로 동작한다!
'개발일기 > 프로젝트 일기' 카테고리의 다른 글
HealthDuo-home 화면 (0) | 2022.06.28 |
---|---|
HealthDuo - 무한대댓글(JPA) (0) | 2022.06.23 |
HomeTheater-좌석페이지 (0) | 2022.06.19 |
HealthDuo - 중복회원 검사 기능 추가(jpa,fetch) (0) | 2022.06.13 |
[mysql] java.sql.sqlnontransientconnectionexception:public key retrieval is not allowed (0) | 2022.06.08 |