특정 HTTP 요청을 처리하는 과정에서 요청을 보낸 회원에 대응하는 Member 객체가 필요함.
이를 간결하고 강건한 방법으로 해결하려면 회원 객체를 반환하는 API 를 만들 필요가 있다.
API 설계
@Service
public class MemberService {
public Optional<Member> getMember(HttpServletRequest request) {
// method stub
}
}
API 사용 예시
@Controller
public class ProfileController {
@Autowired
private final MemberService memberService;
@GetMapping("/profile")
public String showProfile(HttpServletRequest request, Model model) {
// 요청 정보 (request) 에 담긴 세션을 통해 회원 정보를 가져옴
var query = memberService.getMember(request);
query.ifPresent(member -> {
model.addAttribute("name", member.getNickName());
model.addAttribute("email", member.getEmail());
});
return "/profile";
}
}
작업 동기
특정 HTTP 요청을 처리하는 과정에서 요청을 보낸 회원에 대응하는
Member
객체가 필요함. 이를 간결하고 강건한 방법으로 해결하려면 회원 객체를 반환하는 API 를 만들 필요가 있다.API 설계
API 사용 예시