본문 바로가기

diary/codestates (be39)

07/19/22 intellij로 mysql을 연결하고 postman을 통해 작동 확인하기

 

[이전 글 link]  application.yml 파일 설정으로 local, server 환경에서 사용할 DB 정하기

  • build.gradle dependencies 설정
  • application.yml 파일 설정
  • profile 설정

 


 

mysql 연결 확인

MySQL Command Line Client를 통해 지정한 데이터베이스에 초기 테이블이 제대로 생성되었는지 확인한다.

 

* 코드 상으로 설정한 초기 테이블 생성을 적용할 경우 application-server.yml 파일의 ddl-auto 옵션을 none 또는 create로 주어야 한다. create-drop으로 주어도 되지만 create-drop의 경우 서버 종료 시 테이블에 저장된 데이터가 drop 된다.

 


Postman으로 요청 전송하기

작성한 Controller 로직에 따라 postman으로 요청을 전송한다

 

요청 보낼 Controller 클래스 확인

CoffeeController.java

@RestController
@RequestMapping("/v11/coffees")
@Validated
public class CoffeeController {
    private CoffeeService coffeeService;
    private CoffeeMapper mapper;

    public CoffeeController(CoffeeService coffeeService, CoffeeMapper coffeeMapper) {
        this.coffeeService = coffeeService;
        this.mapper = coffeeMapper;
    }

    @PostMapping
    public ResponseEntity postCoffee(@Valid @RequestBody CoffeePostDto coffeePostDto) {
        Coffee coffee = coffeeService.createCoffee(mapper.coffeePostDtoToCoffee(coffeePostDto));

        return new ResponseEntity<>(
                new SingleResponseDto<>(mapper.coffeeToCoffeeResponseDto(coffee)),
                HttpStatus.CREATED);
    }
    .
    .
    .
}

 

CoffeePostDto.java

@Getter
public class CoffeePostDto {
    @NotBlank
    private String korName;

    @NotBlank
    @Pattern(regexp = "^([A-Za-z])(\\s?[A-Za-z])*$",
            message = "커피명(영문)은 영문이어야 합니다(단어 사이 공백 한 칸 포함). 예) Cafe Latte")
    private String engName;

    @Range(min= 100, max= 50000)
    private int price;

    @NotBlank
    @Pattern(regexp = "^([A-Za-z]){3}$",
            message = "커피 코드는 3자리 영문이어야 합니다.")
    private String coffeeCode;
}

 

Postman으로 요청 보내기

 

연결한 mysql에 제대로 반영되었는지 확인

mysql Command Line Client를 통해 확인하기

 

mysql Workbench를 통해 확인하기

 

서버 종료 후 테이블 확인하기

서버를 종료하고 다시 테이블을 확인하여도 전에 저장한 데이터가 그대로 남아있는 것을 확인할 수 있다.

 

application-server.yml 파일의 ddl-auto 옵션을 none으로 주고 다시 서버 재연결을 하는 경우 역시 서버 시작 시 저장된 데이터가 변경이나 삭제되지 않고 유지되어 다시 테이블을 확인하여도 데이터가 남아있는 것을 확인할 수 있다.