예제를 만들자 뚱땅뚱땅

#1 CRUD 기능을 하는 API 서버 만들어보기

NEWDODORIPYO 2022. 8. 24. 17:17

간단한 CRUD 기능을 가진 API 서버를 설계부터 해서 한번 만들어 보겠습니다 

 

만들기 앞서 어떤걸 만들고자 하는지 그리고 사용하는 환경에 대해 한번 정리하고 가겠습니다 

 

🎈목표

🎈테이블

🎈환경 

😎개발자가 되고싶니?

무작정 코드만 줄줄 치는 코더가 아닌 개발자로 성장하려면 무작정 코드를 치는 것이 아닌 설계부터 탄탄하게 잡고 가는 것이 좋다고 어디서 본 기억이 있어서 한번 만들어봤는데 ERD 나 다른 문서들이 필요할 만큼 큰 프로젝트가 아니기에 간단하게 만들어 보았습니다 그럼 이제 본격적으로 시작해보죠 

 

패키지 구성하기

yml 설정하기

#1 
spring:
  datasource:
    url: jdbc:mariadb://localhost:3306/api
    username: api
    password: api
    driver-class-name: org.mariadb.jdbc.Driver
#2
  mvc:
    pathmatch:
      matching-strategy:ant_path_matcher

server:
  port: 8080
  servlet:
    context-path: /
#3
mybatis:
  type-aliases-package: com.model
  mapper-locations: classpath:repository/*.xml
  configuration:
    map-underscore-to-camel-case: true
#4
logging:
  config: classpath:logback-local.xml
  • #1. DB 연결
  • #2. Spring boot 2.6.2 버전 이후 sping.mvc.pathmatch.matching-strategy의 값이 ant_path_matcher -> path_pattern_parser로 변경되면서 라이브러리(swagger포함) 내부에 오류가 발생함. 이 설정을 해줘야 swagger-ui 가 동작함 자세한 내용은 기존 작성해둔 요 글을 https://newstartdodo.tistory.com/91  보시면 감사합니다 
  • #3. caml 설정
  • #4. logback 설정

logback-local.xml 설정

😭어디서 에러가 나는지 알아야 에러를 잡지!!

API Test를 위한 swagger-ui 설정

@Configuration
public class SwaggerConfig {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.OAS_30)
                .useDefaultResponseMessages(false)
                .select()
                .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
                .paths(PathSelectors.any())
                .build()
                .apiInfo(apiInfo());

    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("API 01 Project Swagger")
                .build();
    }