Skip to content

Commit a35042f

Browse files
committed
WebAPI設計ガイドラインに寄せる
1 parent 40a119f commit a35042f

File tree

2 files changed

+4
-112
lines changed

2 files changed

+4
-112
lines changed

documents/forOpenAPISpecification/OpenAPI_Specification_2.0.md

Lines changed: 2 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -43,67 +43,13 @@ head:
4343

4444
::: warning 有志で作成したドキュメントである
4545

46-
- フューチャーアーキテクトには多様なプロジェクトが存在し、それぞれの状況に合わせた開発手法が採用されている。本規約はフューチャーアーキテクトの全ての部署/プロジェクトで利用されているわけではなく、有志が観点を持ち寄って新たに整理したものである。相容れない部分があればその領域を書き換えて利用することを想定している
46+
フューチャーアーキテクトには多様なプロジェクトが存在し、それぞれの状況に合わせた開発手法が採用されている。本規約はフューチャーアーキテクトの全ての部署/プロジェクトで利用されているわけではなく、有志が観点を持ち寄って新たに整理したものである。相容れない部分があればその領域を書き換えて利用することを想定している
4747

4848
:::
4949

5050
# API設計
5151

52-
Web API の設計自体はこの規約の範囲外であるが、簡易的な方針を示す。必要に応じて参考にされたい。
53-
54-
## HTTP メソッド
55-
56-
実現したい操作により、以下のような使い分けを想定する。HEAD(リソースの存在チェック)、GET(参照)、POST(新規作成)、PUT(更新)、PATCH(一部更新)、DELETE(削除)。
57-
58-
## HTTP ステータス
59-
60-
[RFC 7231](https://tools.ietf.org/html/rfc7231#section-6)で定義されているレスポンスステータスコードを利用します。
61-
62-
[RFC9205](https://datatracker.ietf.org/doc/html/rfc9205)[日本語訳](https://tex2e.github.io/rfc-translater/html/rfc9205.html#section-4.6))の方針に原則則る。ユースケース別に利用すべき HTTP ステータスコードを記載します。
63-
64-
### 共通
65-
66-
- バリデーションエラー:`400 Bad Request`
67-
- 業務エラー:`400 Bad Request`
68-
- 認証エラー:`401 Unauthorized`
69-
- 認可エラー:`403 Forbidden`
70-
- システムエラー:`500 Internal Server Error`
71-
72-
### GET
73-
74-
- 正常系:`200 OK`
75-
- 検索系 API で結果 0 件の場合も、 `200 OK` を返すとする
76-
- パスキー検索系 API で対象リソースが存在しないエラー:`404 Not Found`
77-
78-
### POST
79-
80-
- 正常系(同期):`201 Created`
81-
- 正常系(非同期):`202 Accepted`
82-
- 一意制約違反エラー:`409 Conflict`
83-
- 親リソースが存在しないエラー:`404 Not Found`
84-
85-
### PUT
86-
87-
- 正常系(同期):`200 OK`
88-
- 正常系(非同期):`202 Accepted`
89-
- 対象リソースが存在しないエラー:`404 Not Found`
90-
91-
### DELETE
92-
93-
- 正常系:`204 No Content`
94-
- もし、削除した項目の情報を応答する場合は `200 OK` とする
95-
- 対象リソースが存在しないエラー:`404 Not Found`
96-
97-
## API バージョン管理
98-
99-
- /v1, /v2 といったパスで表現する
100-
- 型名変更、必須パラメータの追加、レスポンスの桁数変更、などをするときはバージョンを上げることを検討する
101-
102-
## パラメータの命名
103-
104-
boolean 型である場合、 `[a-zA-Z0-9-_]+_flag` という命名は非推奨とする。
105-
106-
`is_[a-zA-Z0-9-_]+``has_[a-zA-Z0-9-_]+` などの命名を代わりに検討する
52+
Web API の設計自体は、[Web API設計ガイドライン | Future Enterprise Arch Guidelines](https://future-architect.github.io/arch-guidelines/documents/forWebAPI/web_api_guidelines.html)を参考にすること。
10753

10854
# YAMLファイルフォーマット
10955

documents/forOpenAPISpecification/OpenAPI_Specification_3.0.3.md

Lines changed: 2 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -44,67 +44,13 @@ head:
4444

4545
::: warning 有志で作成したドキュメントである
4646

47-
- フューチャーアーキテクトには多様なプロジェクトが存在し、それぞれの状況に合わせた開発手法が採用されている。本規約はフューチャーアーキテクトの全ての部署/プロジェクトで利用されているわけではなく、有志が観点を持ち寄って新たに整理したものである。相容れない部分があればその領域を書き換えて利用することを想定している
47+
フューチャーアーキテクトには多様なプロジェクトが存在し、それぞれの状況に合わせた開発手法が採用されている。本規約はフューチャーアーキテクトの全ての部署/プロジェクトで利用されているわけではなく、有志が観点を持ち寄って新たに整理したものである。相容れない部分があればその領域を書き換えて利用することを想定している
4848

4949
:::
5050

5151
# API設計
5252

53-
Web API の設計自体はこの規約の範囲外であるが、簡易的な方針を示す。必要に応じて参考にされたい。
54-
55-
## HTTP メソッド
56-
57-
実現したい操作により、以下のような使い分けを想定する。HEAD(リソースの存在チェック)、GET(参照)、POST(新規作成)、PUT(更新)、PATCH(一部更新)、DELETE(削除)。
58-
59-
## HTTP ステータス
60-
61-
[RFC 7231](https://tools.ietf.org/html/rfc7231#section-6)で定義されているレスポンスステータスコードを利用します。
62-
63-
[RFC9205](https://datatracker.ietf.org/doc/html/rfc9205)[日本語訳](https://tex2e.github.io/rfc-translater/html/rfc9205.html#section-4.6))の方針に原則則る。ユースケース別に利用すべき HTTP ステータスコードを記載します。
64-
65-
### 共通
66-
67-
- バリデーションエラー:`400 Bad Request`
68-
- 業務エラー:`400 Bad Request`
69-
- 認証エラー:`401 Unauthorized`
70-
- 認可エラー:`403 Forbidden`
71-
- システムエラー:`500 Internal Server Error`
72-
73-
### GET
74-
75-
- 正常系:`200 OK`
76-
- 検索系 API で結果 0 件の場合も、 `200 OK` を返すとする
77-
- パスキー検索系 API で対象リソースが存在しないエラー:`404 Not Found`
78-
79-
### POST
80-
81-
- 正常系(同期):`201 Created`
82-
- 正常系(非同期):`202 Accepted`
83-
- 一意制約違反エラー:`409 Conflict`
84-
- 親リソースが存在しないエラー:`404 Not Found`
85-
86-
### PUT
87-
88-
- 正常系(同期):`200 OK`
89-
- 正常系(非同期):`202 Accepted`
90-
- 対象リソースが存在しないエラー:`404 Not Found`
91-
92-
### DELETE
93-
94-
- 正常系:`204 No Content`
95-
- もし、削除した項目の情報を応答する場合は `200 OK` とする
96-
- 対象リソースが存在しないエラー:`404 Not Found`
97-
98-
## API バージョン管理
99-
100-
- /v1, /v2 といったパスで表現する
101-
- 型名変更、必須パラメータの追加、レスポンスの桁数変更、などをするときはバージョンを上げることを検討する
102-
103-
## パラメータの命名
104-
105-
boolean 型である場合、 `[a-zA-Z0-9-_]+_flag` という命名は非推奨とする。
106-
107-
`is_[a-zA-Z0-9-_]+``has_[a-zA-Z0-9-_]+` などの命名を代わりに検討する
53+
Web API の設計自体は、[Web API設計ガイドライン | Future Enterprise Arch Guidelines](https://future-architect.github.io/arch-guidelines/documents/forWebAPI/web_api_guidelines.html)を参考にすること。
10854

10955
# YAMLファイルフォーマット
11056

0 commit comments

Comments
 (0)