第8章 実行中の Red Hat build of Kogito マイクロサービスとの対話
Red Hat build of Kogito マイクロサービスの実行後、REST API 要求を送信し、アプリケーションとの対話やアプリケーションの設定方法に合わせて、マイクロサービスを実行できます。
この例では、/persons
REST API エンドポイントをテストし、PersonDecisions.dmn
ファイル (または DRL ルールユニットを使用した場合には PersonRules.drl
ファイルのルール) に意思決定を自動生成します。
この例では、アプリケーションに設定された REST クライアント、curl ユーティリティー、またはアプリケーションに設定された Swagger UI (例: http://localhost:8080/q/swagger-ui
または http://localhost:8080/swagger-ui.html
) を使用して、以下のコンポーネントで API 要求を送信します。
-
URL:
http://localhost:8080/persons
HTTP ヘッダー:
POST
要求のみ:-
accept
:application/json
-
content-type
:application/json
-
-
HTTP メソッド:
GET
、POST
、またはDELETE
成人 (JSON) を追加するための POST 要求ボディーの例
{ "person": { "name": "John Quark", "age": 20 } }
成人を追加する curl コマンドの例
curl -X POST http://localhost:8080/persons -H 'content-type: application/json' -H 'accept: application/json' -d '{"person": {"name":"John Quark", "age": 20}}'
応答例 (JSON)
{ "id": "3af806dd-8819-4734-a934-728f4c819682", "person": { "name": "John Quark", "age": 20, "adult": false }, "isAdult": true }
以下の手順では、便宜上 curl コマンドを使用します。
手順
実行中のアプリケーションから分離されているコマンドターミナルウィンドウで、Red Hat build of Kogito マイクロサービスが含まれるプロジェクトに移動し、以下の curl コマンドのいずれかを JSON 要求とともに使用して、実行中のマイクロサービスと対話します。
Spring Boot では、これらのサンプル要求を機能させるには、アプリケーションによる API エンドポイントの公開方法を変更しないといけない場合があります。詳細は、このチュートリアルで作成した Spring Boot プロジェクトのサンプルに含まれる README
ファイルを参照してください。
成人を追加します。
要求の例
curl -X POST http://localhost:8080/persons -H 'content-type: application/json' -H 'accept: application/json' -d '{"person": {"name":"John Quark", "age": 20}}'
応答例
{"id":"3af806dd-8819-4734-a934-728f4c819682","person":{"name":"John Quark","age":20,"adult":false},"isAdult":true}
未成年を追加します。
要求の例
curl -X POST http://localhost:8080/persons -H 'content-type: application/json' -H 'accept: application/json' -d '{"person": {"name":"Jenny Quark", "age": 15}}'
応答例
{"id":"8eef502b-012b-4628-acb7-73418a089c08","person":{"name":"Jenny Quark","age":15,"adult":false},"isAdult":false}
返された UUID を使用して評価を完了します。
要求の例
curl -X POST http://localhost:8080/persons/8eef502b-012b-4628-acb7-73418a089c08/ChildrenHandling/cdec4241-d676-47de-8c55-4ee4f9598bac -H 'content-type: application/json' -H 'accept: application/json' -d '{}'