# 2. Web/Spring Boot

Postman으로 Controller단 기능체크하기

둥굴둥굴둥굴레차 2021. 7. 27. 22:37

Controller파일의 회원정보조회기능을 테스트하여 SUCCESS를 받은 후의 화면이다.

 

 

http://localhost:8080/cameo/user/info/test@mail.com 로 요청을 보내준 이유

 

1. application.properties에서 server port 번호 확인해주기.

// application.properties.xml
server.port=8080

 

따라서 다음의 주소로 시작하게됨.

http://localhost:8080

 

2. application.properties에서 context-path 경로 확인해주기.

// application.properties.xml
server.servlet.context-path=/cameo

 

따라서 다음의 주소가 됨.

http://localhost:8080/cameo

 

 

3. Controller 파일에서 다음과 같이 RequestMapping해줌.

@RequestMapping("/user")는, 어떤 메서드를 실행시키던간에 기본적으로 user가 주소에 붙여진다는 의미다.

@RequestMapping("/user")
public class AccountController {

    @ApiOperation(value = "회원인증", notes = "회원 정보를 담은 Token을 반환한다.", response = Map.class)      @GetMapping("/info/{user_email}")
     public ResponseEntity<Map<String, Object>> getUser(){
         이하생략
     }

 

 

따라서 다음의 주소가 됨.

http://localhost:8080/cameo/user

 

4. @GetMapping("/info/{user_email}")해준대로 주소 뒷부분에 붙여서 보낸다.

@RequestMapping("/user")
    public class AccountController {

@ApiOperation(value = "회원인증", notes = "회원 정보를 담은 Token을 반환한다.", response = Map.class)      @GetMapping("/info/{user_email}")
     public ResponseEntity<Map<String, Object>> getUser(){
         이하생략
     }

 

여기서 {user_email}현재 DB(HeidiSQL)에 존재하는 값으로 넣어주어야한다.

 

즉, DB에 존재하는 user_email값 중에서 내가 정보를 조회하고싶은 데이터의 user_email값을 넣어주면된다.

 

현재 나의 DB상태는 아래와 같고 나는 test@mail.com의 정보를 조회하고싶다.

 

따라서 다음의 주소가 됨.

http://localhost:8080/cameo/user/info/test@mail.com

 

 

전송방식 선택

 

@GetMapping("/info/{user_email}")해주었기 때문에 Postman에서 Send를 클릭해주기 전에 반드시 GET을 체크해주자.


 

URL과 전송방식을 세팅한 후

 

이제 내가 건네주어야하는 정보를 아래의 Params, Authorization, Headers, Body 등등 중에 적절히 넣어준 후 Send를 클릭한다.

 

 

참고로 회원정보 조회의 경우에는 로그인 시 발급받을 수 있는 access-token이 필요하기 때문에

Controller파일의 로그인 메서드를 Postman에 먼저 테스트 및 실행하여 access-token을 발급받는 것이 선행되어야한다.

 

 

 

이제 발급받은 access-token을 넣어주어야 하는 곳은 어디일까?

 

아래의 코드에 보다시피 getHeader("access-toekn")으로 설정해주었으니 Postman의 Headers란에 적어주자.

@ApiOperation(value = "회원인증", notes = "회원 정보를 담은 Token을 반환한다.", response = Map.class)
	@GetMapping("/info/{user_id}")
	public ResponseEntity<Map<String, Object>> getUser(
			@PathVariable("user_id") @ApiParam(value = "인증할 회원의 아이디.", required = true) String user_id,
			HttpServletRequest request) {
		Map<String, Object> resultMap = new HashMap<>();
		HttpStatus status = HttpStatus.ACCEPTED;
		if (jwtService.isUsable(request.getHeader("access-token"))) {
			logger.info("사용 가능한 토큰!!!");
			try {
				~
			} catch (Exception e) {
				~
			}
		} else {
			~
		}
		return ~;