2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MuleSoft DesignCenterのAPIドキュメントの作成フロー

Last updated at Posted at 2019-12-19

MuleSoft Advent Calendar 2019の記事です。

最近追加されたMuleSoftの機能を触ってないので、使ったことのない機能を試してみようと思います。

皆さんAPIのドキュメント何で書いてますか?
WordとかExcelの場合もあるし、RAMLとかYAML、Markdownあたりもあると思いますが、API仕様書って図とかが要らないので、テキストエディタで作って、ソースコードと一緒にgitで管理できるRAML、YAML、Markdownは良いですよね!
ツールもいろいろあって、APIドキュメントを書くのをサポートしてくれるツールや、Webページとして公開できる形にしてくれたります。SwaggerとかAPI Blueprintとか。

Anypoint PlatformのDesign CenterでAPIドキュメントが作成できるので、それをやっていきたいと思います。

Design Centerにアクセスします

Design CenterはWebブラウザでMuleアプリケーションの開発や、API仕様書の作成ができる機能です。

Anypoint Platform にアクセスします。

「Start Designing」を選択します。
Anypoint Platform 2019-12-19 09-21-09.png

プロジェクト一覧画面が表示されるので、「Create」でプロジェクトを作成する。
Design Center 2019-12-19 09-21-51.png

アプリケーションを作るか、API仕様書を作るか選べるので、今回はAPI仕様書を作成する「Crate API specification」を選択
Design Center 2019-12-19 09-22-38.png

ドキュメントの記法を選択できます。ここではRAML 1.0を選択します。この記法に沿って書くと、APIのドキュメントがWebで見やすい形になって見れます。
Design Center 2019-12-19 11-31-34.png

Code EditorでAPI仕様を書く

RAMLでAPIの仕様を書いていきます。
RAMLの説明については、こちらの記事が参考になります。
RAML 200チュートリアル日本語訳

すでにあるものをImportすることもできます。

API designer 2019-12-19 11-54-11.png

自分で一から書くこともできますが、サンプルも提供されているので、見てみましょう。
API designer 2019-12-19 11-38-22.png

サンプルが結構あるので、参考になりそうなのチェックして、「Import asset」をクリックします。ここでは「Inventory API」を開いてみましょう。
API designer 2019-12-19 11-39-36.png

こんな感じ。
API designer 2019-12-19 11-42-12.png

ドキュメントの公開

ドキュメントの準備ができたら、公開します。PublicボタンでExchangeに公開することができます。
API designer 2019-12-19 11-43-47.png

どれを公開するのか選んで、「Publish」
API designer 2019-12-19 11-47-46.png
API designer 2019-12-19 11-45-13.png

Exchangeで公開された情報を確認

組織(この画面だとNCDC)を選んで、さっき作ったプロジェクトを選択します。

Anypoint Exchange 2019-12-19 11-48-57.png

すると、先程公開したAPIの仕様が公開されています。
APIのモックを呼び出して、APIを試すことができるので、クライアントを作る人はわかりやすいですよね。

SampleAPISpec 2019-12-19 11-56-55.png

Visual Editor

ちなみに Visual Editorを選択するとこんな感じ。
Design Center 2019-12-19 09-23-55.png

まあ実際にはプロジェクトごとにテンプレートになるRAMLファイルを作って、それをベースにCode Editorで作っていくかな。

API designer 2019-12-19 09-27-31.png

以上です。

所感

RAML自体はMuleSoft独自ではなく、オープンな記法なのでそこは良いなと思います。機能的にもAPIを叩いて試せたり便利です。
例えば、Muleアプリや、スクラッチのAPIも含めてRAMLで書いて、必要に応じてExchangeで公開みたいな使い方ができると思います。
基本的にはgitでソースコードとセットで管理するとして、Exchangeで公開するのをCI/CDできるのか別途確認してみたいと思います。

参考資料

Design Centerについての公式Doc:Design Center について
Exchangeについての公式Doc:Exchangeについて

2
1
1

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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?