Files
YouAndMe/src/main/java/com/yam/app/account/presentation/AccountQueryApi.java
JiwonDev 41f50cea90 Refactor LoginAccountProcessor
- 이메일 검증 테스트 코드 추가
2021-09-10 19:35:58 +09:00

39 lines
1.2 KiB
Java

package com.yam.app.account.presentation;
import com.yam.app.account.application.AccountFacade;
import javax.validation.Valid;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(
produces = MediaType.APPLICATION_JSON_VALUE,
consumes = MediaType.APPLICATION_JSON_VALUE
)
public final class AccountQueryApi {
private final AccountFacade accountFacade;
public AccountQueryApi(AccountFacade accountFacade) {
this.accountFacade = accountFacade;
}
@PostMapping("/api/accounts/login")
public ResponseEntity<Void> login(
@Valid @RequestBody LoginAccountRequestCommand request) {
try {
accountFacade.login(request);
} catch (IllegalStateException e) {
return new ResponseEntity<>(HttpStatus.UNAUTHORIZED);
}
LoginSessionUtils.setLoginAccountEmail(request.getEmail());
return ResponseEntity.ok().build();
}
}