---
schema_version: "1"
id: c3fac1c20548f585207978fc09c7c748bc21d26b26cf6b933ae04de118d88d7a
title: 仕様での準拠の問題の検出と修正
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/api-governance/find-conformance-issues.md
canonical_url: https://docs.mulesoft.com/jp/api-governance/find-conformance-issues
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 7f5b267cce01250a0161689a8b9c95868424482196fba9864209b3044e2fd940
description: MuleSoft Documentation Site
latest: true
---
# 仕様での準拠の問題の検出と修正

API Governance コンソールにアクセスできない場合でも、Design Center やガバナンス CLI を使用して、ガバナンスルールセットに対して個々の API 仕様を検証できます。仕様の準拠の問題は API Designer で直接修正できます。

## [](#validate-in-design-center)Design Center で API 仕様を検証する

ガバナンスルールセットに対して API を検証するには、Design Center API Designer テキストエディターで API 仕様にルールセットを連動関係として追加します。ルールセットを追加したら、​**\[Project Errors (プロジェクトエラー)\]**​ セクションを展開して、準拠メッセージを表示します。

Unresolved include directive in modules/ROOT/pages/find-conformance-issues.adoc - include::\_partials/api-gov-apid-scap-callouts.adoc\[\]

### [](#add-rulesets)プロジェクトへのルールセットの追加

API Designer で、API プロジェクトに Exchange 連動関係としてガバナンスルールセットを追加できます。

Unresolved include directive in modules/ROOT/pages/find-conformance-issues.adoc - include::design-center::partial$design-add-ruleset-dependencies.adoc\[\]

[「API 仕様プロジェクトへの連動関係の追加」](https://docs.mulesoft.com/design-center/design-add-api-dependency)​を参照してください。

### [](#project-errors)準拠プロジェクトエラーを修正する

API Designer テキストエディターを使用して準拠プロジェクトエラーを修正するには、​[「テキストエディターでの API 仕様の作成」](https://docs.mulesoft.com/design-center/design-create-publish-api-raml-editor#the-editor)​を参照してください。

## [](#api-governance-cli-を使用してガバナンスルールセットに対して-api-仕様を検証する)API Governance CLI を使用してガバナンスルールセットに対して API 仕様を検証する

コマンドを使用してガバナンスルールセットに対して API 仕様を検証する場合は、​`governance:api:validate`​ コマンドを使用します。

### [](#governance-api-validate)governance:api:validate

`> governance:api:validate <api-specification> [フラグ]`

このコマンドは、指定されたルールセットに対して ​`api-specification`​ で渡された API 仕様を検証します。

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">このコマンドには複数オプションのフラグがあります。コマンドで複数オプションのフラグを使用する場合は、フラグの前にパラメーターを置くか、パラメーターの前に「-- 」(2 つのダッシュの後にスペース) を使用します。</td></tr></tbody></table>

`api-specification`​ は次のいずれかとして指定できます。

- API プロジェクト ZIP ファイル
- API プロジェクトフォルダー
- `--remote`​ フラグが指定されている場合は、API プロジェクトのアセット識別子。アセット識別子は、Exchange 内の各アセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。

検証するルールセットを次のように指定できます。

- API プロジェクトのルールセットの連動関係を定義する既存の ​`exchange.json`​ ファイルを使用するには、​`api-specification`​ で指定したフォルダーまたは ZIP ファイルに ​`exchange.json`​ ファイルが含まれていることを確認してください。​`exchange.json`​ ファイルが存在する場合、このコマンドはすべてのルールセット連動関係をダウンロードし、それらのルールセットに対して検証します。ルールセットの連動関係は、API Designer でその API プロジェクトに連動関係が定義されている場合にのみ、​`exchange.json`​ ファイルに存在します。​[「プロジェクトへのルールセットの追加」](https://docs.mulesoft.com/api-governance/find-conformance-issues#add-rulesets)​を参照してください。
- Exchange でパブリッシュされているルールセットに対して直接検証するには、​`--remote-rulesets`​ フラグを使用します。
- ローカルルールセットに対して検証するには、​`---rulesets`​ フラグを使用します。

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">重複するルールセットは検出されないため、同じコマンドの実行でルールセットを特定する前述の方法を複数使用すると、一部のルールセットが複数回検証される場合があります。</td></tr></tbody></table>

このコマンドでは、デフォルトのフラグ以外に次のフラグも受け入れます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 35%;">
<col style="width: 65%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">フラグ</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>--rulesets &lt;ruleset-yaml-file1&gt; &lt;ruleset-yaml-file2&gt; …​</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>ローカルルールセット定義。​<code>rulesets</code>​ フラグの後には、カンマで区切られたルールセット YAML ファイルのリストが続きます。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>--remote-rulesets &lt;ruleset-asset-identifier&gt; &lt;ruleset-asset-identifier&gt; …​</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>リモートルールセット定義。​<code>remote-rulesets</code>​ フラグの後には、カンマで区切られたルールセットアセット識別子のリストが続きます。アセット識別子は、Exchange 内の各アセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。例: <code>&lt;group_id&gt;/&lt;asset_id&gt;/&lt;version&gt;,&lt;group_id&gt;/&lt;asset_id&gt;/&lt;version&gt;</code>​</p>
</div>
<div class="paragraph">
<p><a href="#exchange-asset-identifiers">Exchange アセット識別子 (GAV) を取得する</a>​を参照してください。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>--remote</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>パブリッシュされた API に対して検証を行う必要があることを示すフラグ。​<code>api-specification</code>​ で渡される値は、API のアセット識別子です。アセット識別子は、Exchange 内の各アセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。例: <code>&lt;group_id&gt;/&lt;asset_id&gt;/&lt;version&gt;</code>​</p>
</div>
<div class="paragraph">
<p><a href="#exchange-asset-identifiers">Exchange アセット識別子 (GAV) を取得する</a>​を参照してください。</p>
</div></div></td>
</tr>
</tbody>
</table>

**コマンド例:**

```copy
anypoint-cli-v4 governance:api:validate /MyApis/order-api-1.0.0-raml.zip

anypoint-cli-v4 governance:api:validate /MyApis/order-api-1.0.0-raml

anypoint-cli-v4 governance:api:validate /MyApis/order-api-1.0.0-raml.zip --rulesets /MyRulesets/ruleset1.yaml /MyRulesets/ruleset2.yaml

anypoint-cli-v4 governance:api:validate /MyApis/order-api-1.0.0-raml.zip --remote-rulesets 68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1

anypoint-cli-v4 governance:api:validate 8a840abd-e63a-4f8b-87ab-24052eda2017/order-api/1.0.0 --remote-rulesets 68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1 --remote
```

**出力例:**

ルールセットに適合する仕様の場合:

 Spec conforms with Ruleset

ルールセットに適合しない仕様の場合:

Conforms: false
Number of results: 3 **(1)**

Functional Validations
----------------------

Constraint: http://a.ml/vocabularies/amf/core#declaration-not-found
Severity: Violation
Message: not supported scalar for documentation
Target: null
Range: \[(6,3)-(6,3)\]
Location: file:///Users/myuser/Downloads/order-api-1.0.0-raml/order-api-1.0.0-raml

Conformance Validations **(2)**
-----------------------

Constraint: file:///exchange\_modules/68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/1.0.0/ruleset.yaml#/encodes/validations/api-must-have-documentation **(3)**
Severity: Warning **(4)**
Message: Provide the documentation for the API. **(5)**
Target: amf://id#2 **(6)**
Range: \[(2,0)-(6,4)\] **(7)**
Location: file:///Users/myuser/Downloads/order-api-1.0.0-raml/order-api-1.0.0-raml **(8)**

Constraint: file:///exchange\_modules/8a840abd-e63a-4f8b-87ab-24052eda2017/best-practices-ruleset/1.0.0/bestpractices.yaml#/encodes/validations/api-must-have-documentation
Severity: Violation
Message: Provide the documentation for the API
Target: amf://id#2
Range: \[(2,0)-(6,4)\]
Location: file:///Users/myuser/Downloads/order-api-1.0.0-raml/order-api-1.0.0-raml

<table><tbody><tr><td><i class="conum" data-value="1"></i><b>1</b></td><td>見つかった機能および準拠検証の問題の合計</td></tr><tr><td><i class="conum" data-value="2"></i><b>2</b></td><td>準拠の問題セクション</td></tr><tr><td><i class="conum" data-value="3"></i><b>3</b></td><td>この一連の問題が適用されるルールセットとルール</td></tr><tr><td><i class="conum" data-value="4"></i><b>4</b></td><td>問題の重要度</td></tr><tr><td><i class="conum" data-value="5"></i><b>5</b></td><td>問題の説明</td></tr><tr><td><i class="conum" data-value="6"></i><b>6</b></td><td>AMF モデルノード ID。AMF モデルについての詳細は、​<a href="https://docs.mulesoft.com/api-governance/create-custom-rulesets" class="xref page">「カスタムガバナンスルールセットの作成」</a>​を参照</td></tr><tr><td><i class="conum" data-value="7"></i><b>7</b></td><td>問題が発生した API 仕様の開始行番号と列および終了行番号と列。ここで、列は行の先頭からのオフセットであり、オフセットの番号は 0 で開始</td></tr><tr><td><i class="conum" data-value="8"></i><b>8</b></td><td>問題が発生したファイル (メインファイルまたはその連動関係のいずれか)</td></tr></tbody></table>

#### [](#exchange-asset-identifiers)Exchange アセット識別子 (GAV) を取得する

Exchange アセットの GAV を取得するには、次の操作を実行します。

- Exchange CLI を使用している場合、​`exchange:asset:list`​ コマンドを実行します。
- Exchange Web UI を使用している場合、Exchange でアセットを選択し、URL からグループ ID とアセット ID をコピーします。次に、表示しているバージョンのバージョンノードを追加します。たとえば、Exchange の「OpenAPI Best Practices (OpenAPI ベストプラクティス)」ルールセットの GAV は ​`68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1`​ です。

## [](#関連情報)関連情報

- [Adding Dependencies to an API-Specification Project](https://docs.mulesoft.com/design-center/design-add-api-dependency)
- [API 準拠の監視](https://docs.mulesoft.com/jp/api-governance/monitor-api-conformance)