이 튜토리얼에서는 monstarillo를 사용하여 Postgres 데이터베이스용 Java API를 생성하는 방법을 보여줍니다. API는 이를 문서화하기 위해 Spring Boot와 Springdoc를 사용합니다. API는 실행하는 테이블에 대해 CRUD 작업을 수행합니다. API에 대한 단위 테스트도 생성됩니다.
이 튜토리얼을 따르려면 다음이 필요합니다.
몬스타릴로가 설치되었습니다.
Postgres 데이터베이스 – Chinhook 데이터베이스를 사용하겠습니다. Docker에서 Chinhook 샘플 Postgres 데이터베이스 설정
자바 설치
Java IDE – InteliJ를 사용할 예정입니다
힘내
첫 번째 단계는 API를 생성하는 데 사용할 템플릿을 가져오는 것입니다. 그렇게 하려면 저장소 공유 템플릿을 복제하세요. 우리가 사용할 템플릿은 java-api 폴더에 있습니다.
Monstarillo에게 생성된 코드를 넣을 위치를 알려주세요
다음으로 생성된 코드를 배치할 위치를 결정해야 합니다. Docker를 통해 Monstarillo를 실행하겠습니다. Monstarillo를 실행하는 도커 이미지에 ~/shared-volume 디렉토리를 노출하겠습니다. 리포지토리를 복제하여 생성된 공유 템플릿 폴더는 ~/shared-volume 폴더에 있습니다. ~/shared-volume/code-gen-output에서 코드를 생성하겠습니다. Monstarillo는 코드를 생성할 때 code-gen-output 폴더를 생성합니다.
templates.json 파일 수정
Monstarillo는 json 파일을 사용하여 실행할 템플릿, 실행 방법, 생성되는 파일의 이름과 파일 위치를 알려줍니다. java-api/postgres/templates.json 파일을 수정하겠습니다. template.json 파일의 템플릿 배열은 Monstarillo에게 실행할 템플릿, 생성되는 파일의 이름, 파일을 저장할 위치를 알려줍니다. template.json 파일의 태그 배열은 template 및/또는 template.json에 사용되는 일부 "태그"를 정의합니다. 예를 들어 PackagePath는 template.json 파일에서 여러 번 사용됩니다. PackagePath는 여러 템플릿에서 사용되며 태그를 사용하면 이를 한 번 정의할 수 있습니다. 템플릿을 실행하려면 태그 배열에서 TemplateRoot 및 OutputPath 태그를 수정해야 합니다.
*TemplateRoot * – 템플릿 루트는 복제한 저장소의 java-api 폴더를 가리켜야 합니다.
*OutputPath * – 출력 경로는 Monstarillo가 생성한 파일을 넣을 폴더를 가리켜야 합니다. 폴더가 아직 없으면 Monstarillo가 폴더를 생성합니다.
*PackageBase *– 클래스에서 패키지를 설정하는 데 사용됩니다
*ArtifactId *– 생성된 POM.xml에 사용됩니다
*GroupId * – 생성된 POM.xml에 사용됩니다
*ApplicationClassName * – 생성된 애플리케이션의 메인 클래스 이름으로 사용됩니다
*ModelPropertySurrondString * – 애플리케이션의 모델을 생성하는 템플릿에 사용됩니다. 이는 열 이름이 카멜 케이스인 경우 유용합니다.
저는 Monstarillo를 docker에서 실행 중이므로 태그를 다음과 같이 설정하겠습니다.
{ "tagName": "TemplateRoot", "value": "/usr/local/monstarillo/shared-templates/java-api" }, { "tagName": "OutputPath", "value": "/usr/local/monstarillo/code-gen-output/java-01" }
Monstarillo를 로컬에서 실행하는 경우 태그를 다음과 같이 설정합니다.
{ "tagName": "TemplateRoot", "value": "/home/patrick/code/patrick-templates/java-api" }, { "tagName": "OutputPath", "value": "/home/patrick/code-gen-output/java-01" }
Monstarillo를 실행하여 코드 생성
다음으로 Monstarillo를 실행하여 코드를 생성하는 명령을 작성하겠습니다. Monstarillo에게 Postgres 데이터베이스를 사용하고 있음을 알리고 연결 정보를 제공해야 합니다. 또한 앞서 설정한 template.json 파일의 위치를 전달하여 실행할 템플릿을 Monstarillo에게 알려주어야 합니다.
Docker에서 Monstarillo를 실행하기 위한 명령은 다음과 유사합니다.
docker run --volume=/mnt/c/code:/usr/local/monstarillo \ --network=host \ monstarillo/monstarillo:latest postgres \ --t /usr/local/monstarillo/shared-templates/java-api/postgres/templates.json \ --u postgres \ --p <Your Database Password> \ --db "chinhook-db" \ --host "localhost" \ --schema "public" In this command I am mounting /mnt/c/code to the docker image as /usr/local/monstarillo that is running monstarillo. My shared-templates folder is at /mnt/c/code/shared-templates and will be generating code to /mnt/c/code/code-gen-output/java-01
Monstarillo를 로컬에서 실행하는 경우 명령은 다음과 같습니다.
monstarillo postgres \ --t /home/patrick/code/patricks-monstarillo-templates/java-api/templates.json \ --u postgres \ --p <Your Database Password>\ --db "chinhook-db" \ --host "localhost" \ --schema "public"
명령을 실행하면 다음과 유사하게 출력됩니다.
Monstarillo가 각 테이블 이름을 인쇄하고 이에 대해 실행된다는 점에 유의하세요. 이 정보를 사용하여 명령 오류를 해결할 수 있습니다.
생성된 코드 보기
다음으로 선택한 IDE에서 선택한 출력 디렉터리를 열어 코드를 볼 수 있습니다.
다음으로 생성된 코드에서 application.properties 파일을 수정하여 데이터베이스 연결 정보를 업데이트해야 합니다. 파일은 src/main/resources/application.properties에서 찾을 수 있습니다
IntelliJ에서는 IDE에서 PersistApi 클래스를 열고 실행하겠습니다.
새 API가 실행 중이며 테스트할 수 있습니다. 저는 포스트맨을 이용하겠습니다. http://localhost:8080/album
에서 앨범 컨트롤러에 액세스할 수 있습니다.또한 http://localhost:8080/swagger-ui/index.html을 방문하여 생성된 코드에 대해 생성된 OpenAPI 정의를 확인할 수도 있습니다.
src/java/com.monstarillo.persist_api에서 생성된 단위 테스트를 확인하세요
댓글로 여러분의 생각을 알려주세요
위 내용은 Postgres 데이터베이스에 Java 및 Spring Boot를 사용하여 REST API 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!