列挙に特別な値「ALL」を含めることは良い習慣ですか?
私はマイクロサービス環境で新しいサービスを開発しています。これはRESTサービスです。簡単にするために、パスが/ historyBooksであるとしましょう そして、このパスのPOSTメソッドは、新しい履歴ブックを作成します。 歴史書が歴史の1つ以上の時代をカバーしていると仮定しましょう。 簡潔にするために、人間の歴史の次の時代しかないと仮定しましょう。 古代 ポストクラシック モダン 私のコードでは、それらをで表現したいと思いenumます。 メソッドの本体(ペイロード)はJSON形式であり、フィールド名を含める必要がありますeras。このフィールドは、eraこの本で扱う値のリストです。 本体は次のようになります。 { "name": "From the cave to Einstein - a brief history review", "author": "Foo Bar", "eras": ["Ancient", "Post Classical", "Modern"] } この特定のサービスでは、ビジネスロジックは次のとおりです。 入力に時代が指定されていない場合、この本はすべての時代を網羅していると見なされます。 APIレビューでは、すべての時代が網羅されていることを明示的に示すために、時代の列挙に 別の値を含めることを提案しましたALL。 長所と短所があると思います。 長所: 明示的な入力 短所: リスト内の2つの項目が提供されている場合、と言うALLとAncient-アプリケーションから取得されますでしょうか?これでALL他の値が上書きされるはずですが、それは新しいビジネスロジックです。 特定の時代を対象とする書籍のクエリを実行する場合、すべての時代を対象とする書籍をどのように表現しますか?場合ALLも(同じロジックを使用して)出力に使用され、それが解釈する消費者の責任だALLとは["Ancient", "Post Classical", "Modern"]。 私の質問 新しいALLものを持つことは、まったく持たないことよりも混乱を引き起こすと思います。 どう思いますか?このALL値を追加しますか、それなしでAPIを保持しますか?