JHIPSTER OpenAPI
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[JHIPSTER一覧]]
JHIPSTERは、データベースの設計から生成できる様々なことを...
RESTAPIの設計書をもとにした自動生成は、openapiを定義して...
内部でopenapi-generatorを使用しています。
** openapi-generatorの設定について [#n3d40716]
pom.xmlに、以下のコードでパラメータが定義されているので、...
*** 例: pom.xmlから設定箇所の抜粋 [#vb8f0ad2]
<plugin>
<!--
Plugin that provides API-first de...
generate Spring-MVC endpoint stub...
-->
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-p...
<version>${openapi-generator-maven-pl...
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.base...
<generatorName>spring</ge...
<apiPackage>com.kuni.web....
<modelPackage>com.kuni.se...
<supportingFilesToGenerat...
<importMappings>Problem=o...
<skipValidateSpec>false</...
<configOptions>
<delegatePattern>true...
<title>my-app-01</tit...
</configOptions>
</configuration>
</execution>
</executions>
</plugin>
generatorNameのspringと書いてあるところを変えると、いろい...
どんな項目を設定できるのかは、
openapi-generatorのコマンドで見るのが確実
openapi-generatorのプロジェクトをgit cloneしてきて、以下...
java -jar modules/openapi-generator-cli/target/openapi-g...
*** 結果もついでだから載せておきますね [#ha88496d]
$ java -jar modules/openapi-generator-cli/target/openapi...
tThe following generators are available:
CLIENT generators:
- ada
- android
- apex
- bash
- c
- clojure
- cpp-qt-client
- cpp-restsdk
- cpp-tiny (beta)
- cpp-tizen
- cpp-ue4 (beta)
- crystal (beta)
- csharp
- csharp-netcore
- dart
- dart-dio
- dart-dio-next (experimental)
- dart-jaguar
- eiffel
- elixir
- elm
- erlang-client
- erlang-proper
- go
- groovy
- haskell-http-client
- java
- java-micronaut-client (beta)
- javascript
- javascript-apollo (beta)
- javascript-closure-angular
- javascript-flowtyped
- jaxrs-cxf-client
- jmeter
- k6 (beta)
- kotlin
- lua (beta)
- nim (beta)
- objc
- ocaml
- perl
- php
- php-dt (beta)
- powershell (beta)
- python (experimental)
- python-legacy
- r
- ruby
- rust
- scala-akka
- scala-gatling
- scala-sttp (beta)
- scalaz
- swift5
- typescript (experimental)
- typescript-angular
- typescript-aurelia
- typescript-axios
- typescript-fetch
- typescript-inversify
- typescript-jquery
- typescript-nestjs (experimental)
- typescript-node
- typescript-redux-query
- typescript-rxjs
SERVER generators:
- ada-server
- aspnetcore
- cpp-pistache-server
- cpp-qt-qhttpengine-server
- cpp-restbed-server
- csharp-nancyfx
- erlang-server
- fsharp-functions (beta)
- fsharp-giraffe-server (beta)
- go-echo-server (beta)
- go-gin-server
- go-server
- graphql-nodejs-express-server
- haskell
- haskell-yesod (beta)
- java-inflector
- java-msf4j
- java-pkmst
- java-play-framework
- java-undertow-server
- java-vertx-web (beta)
- jaxrs-cxf
- jaxrs-cxf-cdi
- jaxrs-cxf-extended
- jaxrs-jersey
- jaxrs-resteasy
- jaxrs-resteasy-eap
- jaxrs-spec
- kotlin-server
- kotlin-spring
- kotlin-vertx (beta)
- nodejs-express-server (beta)
- php-laravel
- php-lumen
- php-mezzio-ph
- php-slim4
- php-symfony
- python-aiohttp
- python-blueplanet
- python-fastapi (beta)
- python-flask
- ruby-on-rails
- ruby-sinatra
- rust-server
- scala-akka-http-server (beta)
- scala-finch
- scala-lagom-server
- scala-play-server
- scalatra
- spring
DOCUMENTATION generators:
- asciidoc
- cwiki
- dynamic-html
- html
- html2
- markdown (beta)
- openapi
- openapi-yaml
- plantuml (beta)
SCHEMA generators:
- avro-schema (beta)
- graphql-schema
- ktorm-schema (beta)
- mysql-schema
- protobuf-schema (beta)
- wsdl-schema (beta)
CONFIG generators:
- apache2
*** 思ったこと [#i923d86e]
いろいろな言語のクライアント用のAPIリクエスト投げる部分と...
クライアントのフレームワークをJHIPSTERで選んでりるわけだ...
クライアントの画面も作ってしまえばいいのでは?
希望としては、JDLをリクエストとレスポンスの記述できるよう...
** JHIPSTER本家のOPENAPIの説明 [#h6ec5142]
https://www.jhipster.tech/doing-api-first-development/
** jhipsterのapi.ymlの場所 [#u1f8d232]
src/main/resources/swagger/api.yml
** サンプルAPI [#ofd48b67]
デフォルトでは、セキュリティに関する記述はあるが何もAPIが...
なので、以下のコードをapi.ymlに追加して確認するとする
/health:
get:
operationId: openapitutorial.controller.health.call
summary: サーバーの状態を返します
description: サーバーの状態を返します。
responses:
'200':
description: サーバーは正常に動作しています
content:
application/json:
schema:
$ref: '#/components/schemas/get_health_re...
components:
schemas:
get_health_response:
description: サーバーの状態のレスポンス
type: object
properties:
status:
type: string
enum:
- ok
required:
- status
** 実行方法 [#t6efba7f]
pom.xmlに設定があるのでそれを動かすかんじかな、
本家には、実行方法が以下のように書いてあります。
./mvnw generate-sources
自分は、windowsであり、mavenをインストール済みなので、
mvn generate-sources
で生成できます。
*** おもったこと [#r18b1389]
個人的には、getメソッドとpostメソッドなど、swaggerのアノ...
自動的に生成すればいいのにと思う。
* 自動生成されるSpring fox用アノテーション [#bc98aea7]
いらないとは思うが、プロジェクトによっては整理しなおした...
ジェネレータのテンプレートをいじって、変数名の説明を出力...
終了行:
[[JHIPSTER一覧]]
JHIPSTERは、データベースの設計から生成できる様々なことを...
RESTAPIの設計書をもとにした自動生成は、openapiを定義して...
内部でopenapi-generatorを使用しています。
** openapi-generatorの設定について [#n3d40716]
pom.xmlに、以下のコードでパラメータが定義されているので、...
*** 例: pom.xmlから設定箇所の抜粋 [#vb8f0ad2]
<plugin>
<!--
Plugin that provides API-first de...
generate Spring-MVC endpoint stub...
-->
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-p...
<version>${openapi-generator-maven-pl...
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.base...
<generatorName>spring</ge...
<apiPackage>com.kuni.web....
<modelPackage>com.kuni.se...
<supportingFilesToGenerat...
<importMappings>Problem=o...
<skipValidateSpec>false</...
<configOptions>
<delegatePattern>true...
<title>my-app-01</tit...
</configOptions>
</configuration>
</execution>
</executions>
</plugin>
generatorNameのspringと書いてあるところを変えると、いろい...
どんな項目を設定できるのかは、
openapi-generatorのコマンドで見るのが確実
openapi-generatorのプロジェクトをgit cloneしてきて、以下...
java -jar modules/openapi-generator-cli/target/openapi-g...
*** 結果もついでだから載せておきますね [#ha88496d]
$ java -jar modules/openapi-generator-cli/target/openapi...
tThe following generators are available:
CLIENT generators:
- ada
- android
- apex
- bash
- c
- clojure
- cpp-qt-client
- cpp-restsdk
- cpp-tiny (beta)
- cpp-tizen
- cpp-ue4 (beta)
- crystal (beta)
- csharp
- csharp-netcore
- dart
- dart-dio
- dart-dio-next (experimental)
- dart-jaguar
- eiffel
- elixir
- elm
- erlang-client
- erlang-proper
- go
- groovy
- haskell-http-client
- java
- java-micronaut-client (beta)
- javascript
- javascript-apollo (beta)
- javascript-closure-angular
- javascript-flowtyped
- jaxrs-cxf-client
- jmeter
- k6 (beta)
- kotlin
- lua (beta)
- nim (beta)
- objc
- ocaml
- perl
- php
- php-dt (beta)
- powershell (beta)
- python (experimental)
- python-legacy
- r
- ruby
- rust
- scala-akka
- scala-gatling
- scala-sttp (beta)
- scalaz
- swift5
- typescript (experimental)
- typescript-angular
- typescript-aurelia
- typescript-axios
- typescript-fetch
- typescript-inversify
- typescript-jquery
- typescript-nestjs (experimental)
- typescript-node
- typescript-redux-query
- typescript-rxjs
SERVER generators:
- ada-server
- aspnetcore
- cpp-pistache-server
- cpp-qt-qhttpengine-server
- cpp-restbed-server
- csharp-nancyfx
- erlang-server
- fsharp-functions (beta)
- fsharp-giraffe-server (beta)
- go-echo-server (beta)
- go-gin-server
- go-server
- graphql-nodejs-express-server
- haskell
- haskell-yesod (beta)
- java-inflector
- java-msf4j
- java-pkmst
- java-play-framework
- java-undertow-server
- java-vertx-web (beta)
- jaxrs-cxf
- jaxrs-cxf-cdi
- jaxrs-cxf-extended
- jaxrs-jersey
- jaxrs-resteasy
- jaxrs-resteasy-eap
- jaxrs-spec
- kotlin-server
- kotlin-spring
- kotlin-vertx (beta)
- nodejs-express-server (beta)
- php-laravel
- php-lumen
- php-mezzio-ph
- php-slim4
- php-symfony
- python-aiohttp
- python-blueplanet
- python-fastapi (beta)
- python-flask
- ruby-on-rails
- ruby-sinatra
- rust-server
- scala-akka-http-server (beta)
- scala-finch
- scala-lagom-server
- scala-play-server
- scalatra
- spring
DOCUMENTATION generators:
- asciidoc
- cwiki
- dynamic-html
- html
- html2
- markdown (beta)
- openapi
- openapi-yaml
- plantuml (beta)
SCHEMA generators:
- avro-schema (beta)
- graphql-schema
- ktorm-schema (beta)
- mysql-schema
- protobuf-schema (beta)
- wsdl-schema (beta)
CONFIG generators:
- apache2
*** 思ったこと [#i923d86e]
いろいろな言語のクライアント用のAPIリクエスト投げる部分と...
クライアントのフレームワークをJHIPSTERで選んでりるわけだ...
クライアントの画面も作ってしまえばいいのでは?
希望としては、JDLをリクエストとレスポンスの記述できるよう...
** JHIPSTER本家のOPENAPIの説明 [#h6ec5142]
https://www.jhipster.tech/doing-api-first-development/
** jhipsterのapi.ymlの場所 [#u1f8d232]
src/main/resources/swagger/api.yml
** サンプルAPI [#ofd48b67]
デフォルトでは、セキュリティに関する記述はあるが何もAPIが...
なので、以下のコードをapi.ymlに追加して確認するとする
/health:
get:
operationId: openapitutorial.controller.health.call
summary: サーバーの状態を返します
description: サーバーの状態を返します。
responses:
'200':
description: サーバーは正常に動作しています
content:
application/json:
schema:
$ref: '#/components/schemas/get_health_re...
components:
schemas:
get_health_response:
description: サーバーの状態のレスポンス
type: object
properties:
status:
type: string
enum:
- ok
required:
- status
** 実行方法 [#t6efba7f]
pom.xmlに設定があるのでそれを動かすかんじかな、
本家には、実行方法が以下のように書いてあります。
./mvnw generate-sources
自分は、windowsであり、mavenをインストール済みなので、
mvn generate-sources
で生成できます。
*** おもったこと [#r18b1389]
個人的には、getメソッドとpostメソッドなど、swaggerのアノ...
自動的に生成すればいいのにと思う。
* 自動生成されるSpring fox用アノテーション [#bc98aea7]
いらないとは思うが、プロジェクトによっては整理しなおした...
ジェネレータのテンプレートをいじって、変数名の説明を出力...
ページ名: