LoginSignup
0
0

More than 1 year has passed since last update.

Gtk3アプリ RiderとOpenApi

Last updated at Posted at 2021-06-02

SpotlightSudioの導入

Yaml自動生成支援ソフトを利用する。
パラメーターを入力するとYamlを自動生成してくれます。

New Open APiから新規作成 

アクセストークがいらないPublicApiを利用します

ttps://public.api.nicovideo.jp/v1/channel/channelapp/content/videos.json?page=1&channelId=2645675&sort=startedAt

New Open Apiから新規に作成する
Screenshot from 2021-06-01 16-00-28.png

左上のyamlをダブルクリックすると表示される。APIとEndPointをクリック
Screenshot from 2021-06-01 16-00-46.png

APIOverViewでベースURLを設定します
Screenshot from 2021-06-01 16-00-46.png

エンドポイントの作成

パスURLの最後とパラメーターを入力する
Screenshot from 2021-06-01 16-04-31.png

モデルの作成

Jsonを貼り付けることでモデルが作成される
Screenshot from 2021-06-01 16-11-14.png

モデルとエンドポイントのレスポンスを紐付ける

エンドポイントのレスポンスとモデルを紐付ける
$refボタンを押すことでmodelをリファレンスする
Screenshot from 2021-06-01 15-11-31.png
$refボタンを押してmodelを検索する
Screenshot from 2021-06-01 15-11-48.png

Yamlを書き出す

右クリックからExport
Screenshot from 2021-06-01 16-11-29.png

RiderにOpenApiのプラグインの導入

Yamlのエディタ、プレビューが利用可能に
SwaggerCodeGenの実行環境をウィンドウから設定できるようになる

プラグインの導入

RiderにOpenApi支援プラグインをインストールします
Screenshot from 2021-06-01 16-06-32.png
yamlファイルをクリックするとプレビューとエディタが利用可能に
Screenshot from 2021-06-01 16-06-32.png
プラグインを入れた状態だと実行構成にSwagger Codegenのテンプレートが表示される
Screenshot from 2021-06-01 16-17-35.png

実行構成にパスを設定する

仕様書パスにYamlファイルのパス
ファイルの生成場所を設定する
ジュネレーターパスはswagger codegenのソースをmavenがビルドしてバイナリにしてダウンロードしてくれます
Screenshot from 2021-06-02 13-22-44.png
codegenジェネレーターのテンプレートはバージョンによって違います
Screenshot from 2021-06-02 13-23-31.png

コードの生成

設定が完了すると実行ボタンが表示される
Screenshot from 2021-06-02 13-32-01.png
Yamlファイルの上にも生成ボタンが表示される
Screenshot from 2021-06-02 13-32-01.png
ボタンを押すとAPIクライアントを生成してくれます
Screenshot from 2021-06-02 13-22-44.png

書き出されたAPIクライアント Org.OpenAPIToolsの使用例

OpenApi Generater 5で書き出すとOrg.OpenAPIToolsプロジェクト一式が書き出されます。
書き出されたプロジェクトファイルを作業しているExploerの同じ階層に読み込みます。
Screenshot from 2021-06-02 13-22-44.png
dllを参照する感じでAssmblyのところで右クリックでOrg.OpenAPIToolsプロジェクトを参照します。
Screenshot from 2021-06-02 13-22-44.png

課題

codegenジェネレーターで書き出されるAPIクライアントはいろいろあるので比べてみる必要がある。
APIクライアントで2度目以降書き出さなくてよいファイルを隔離しないといけない

RiderとTypeScriptに続く

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0