-
Notifications
You must be signed in to change notification settings - Fork 36
/
Copy pathMemberController.java
35 lines (29 loc) · 1.14 KB
/
MemberController.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package nextstep.app.ui;
import java.util.List;
import nextstep.app.domain.Member;
import nextstep.app.domain.MemberRepository;
import nextstep.app.ui.dto.LoginUser;
import nextstep.security.exception.AuthenticationException;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/members")
public class MemberController {
private final MemberRepository memberRepository;
public MemberController(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
@GetMapping
public ResponseEntity<List<Member>> list() {
List<Member> members = memberRepository.findAll();
return ResponseEntity.ok(members);
}
@GetMapping("/me")
public ResponseEntity<Member> me(LoginUser loginUser) {
final Member member = memberRepository.findByEmail(loginUser.getEmail())
.orElseThrow(() -> new AuthenticationException());
return ResponseEntity.ok(member);
}
}