私は API を作成しようとしていますが、カスタム アクションをリソースに追加する良い方法を見つけるのに苦労しています。たとえば、私のユーザー リソースでは、アクションenabled
とが必要ですdisable
が、通常のブループリント グループ内では、これらをグループに追加することはできません。
## User [/users/{id}]
### Update a User [PATCH]
...
### Delete a User [DELETE]
...
### Disable a User [PATCH]
....
ここでは、Disable a User
とUpdate a User
の両方が同じ URL を指していますが、これは私が望んでいるものではありません。/users/{id}
これらでそれぞれ URLとを生成したいと考えています/users/{id}/disable
。
他の API ソースを見ると、他の人は名前付きリソースを使用せずにそれを行っており、次のようになります。
## /users/{id}
### Update a User [PATCH]
...
### Delete a User [DELETE]
...
## /users/{id}/disable
### Disable a User [PATCH]
...
このアプローチを使用することもできますが、ほとんどのブループリント ツールでレンダリングしたときにきれいになるため、最初のアプローチを使用することをお勧めします。
最初のアプローチを使用してカスタムアクションを実行する方法はありますか、または他の誰かが同じ種類のものを実装するよりクリーンな方法を持っていますか?