Memo API (1)

메모장 API

지금까지 메모장 api를 여러 버전으로 만들어봤지만 다른 사람들한테 보여주거나 누군가가 참고하기에는 내용이 턱없이 모자르다는 느낌을 받았다.
그래서 이번 기회에 완성도가 높은 메모장 API를 만들어보려고 한다.

Memo ERD

기능을 구현하기 전에 DB Schema부터 만들었다.
ERD는 다음과 같다. Memo는 Tag와 File을 여러개 갖는다.

모듈 생성

모듈 정보는 다음과 같다.

추가한 dependency

  • implementation("io.github.microutils:kotlin-logging:2.1.21")
    • 기능 구현을 하면서 데이터를 logging할 때 사용한다.
  • implementation("commons-io:commons-io:2.11.0")
    • FilenameUtils를 통해 파일을 처리할 때 사용한다.

추가 작업

모듈을 생성하고 src 폴더와 동일한 depth에 파일을 업로드할 files 폴더를 하나 생성했다.

application.yml

application.yml을 다음과 같이 만들어준다.
환경변수인 ${}는 Intellij의 Environment Variables에서 설정해줄 것이다.

server:
  port: ${APPLICATION_PORT}
  servlet:
    encoding:
      charset: UTF-8
      enabled: true
      force: true

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: ${DATABASE_URL}
    username: ${DATABASE_USERNAME}
    password: ${DATABASE_PASSWORD}
  jpa:
    database: mysql
    database-platform: org.hibernate.dialect.MySQL57InnoDBDialect
    hibernate:
      ddl-auto: update
    generate-ddl: true
    show-sql: true
    properties:
      hibernate:
        format_sql: true
    open-in-view: false

logging:
  level:
    org:
      hibernate:
        type:
          descriptor:
            sql:
              BasicBinder: trace

application:
  upload-path: ${UPLOAD_PATH}

환경 변수 설정

Intellij에서 Run 'Application' 왼쪽에 Edit Configuration이 있다.

Edit Configuration을 누르면 다음과 같이 화면이 나타난다.
화면에 Environment variables가 나타나지 않는다면 Modify options -> Operating System -> Environment variables 를 클릭한다.

Environment variables에 환경변수이름1=값1;환경변수이름2=값2;환경변수이름3=값3 과 같이 입력하면 된다.
Environment variables의 inputBox가 활성화된 상태에서 Shift+Enter를 입력하거나 inputBox가 오른쪽의 문서 버튼을 누르면 아래와 같은 화면이 나타나는데 여기서 입력해도 된다.

준비 끝

이제 Run 'application'을 누르면 어플리케이션이 실행된다.

좋은 웹페이지 즐겨찾기