2

私はこの質問を投げかけ、Play Framework(特にPlay 2.0)の他のユーザーからフィードバックを得たいと思いました。

'FooBar'というエンティティがあるとしましょう。また、URLでのCRUD操作を可能にするRestfulAPIを提供していると仮定しましょう'http://<host>/api/foo_bar'

私の質問は、URLに名前を付ける方法について、コミュニティ間でコンセンサスがありますか?URLは、名前に複数の単語が含まれているエンティティへのアクセスを提供しますか?

そのようなURLに名前を付けるための次の4つのオプションを考えることができますが、それぞれが合理的と思われます。

  1. スネークケース(これはレールの規則になります)-http:/// api / foo_bar
  2. キャメルケース - http://<host>/api/fooBar
  3. パスカルケース-http://<host>/api/FooBar
  4. アンダースコアを削除するだけです(これには名前がありますか?)-http://<host>/api/foobar

フィードバックをよろしくお願いします!

4

2 に答える 2

1

AFAIK、URLの規則はありません。

ほとんどのサンプルはエンティティ名に単一の単語を使用し、URLで小文字で表現します:entity = Computer、それらをリストするためのパス= /computers、したがって、multi-word-parts小文字とハイフンまたはアンダースコアを使用することをお勧めします-習慣によって異なります。

また、あなたが指摘したすべての表記法を使用したPlayプロジェクトやサンプルも見ました(つまり、 PlayドキュメントではPascalを使用し、play-authenticateサンプルでは小文字のハイフン表記を使用します)。

一方、URLが一般ユーザーに表示される場合(これはトピックから外れていることはわかっています)、特にURLが表示されたページのタイトルを表す場合は、/The_Wikipedia_styleラテン文字以外の文字をサポートする-を使用することをお勧めします。

于 2013-01-11T15:55:35.923 に答える
0

オプション2と3は、次の2つの理由で避けます。

  1. URIのパスコンポーネントでは大文字と小文字が区別されます**。そのため、これらのパスは実際にはアプリ内のさまざまなRESTエンドポイントを指している可能性があり、これは混乱を招きます。

  2. 一部のサーバー(つまりWindows上)は、パスを大文字と小文字を区別しないものとして扱います。これにより、アプリを別のプラットフォーム(またはホスティングプロバイダー)に移行する必要がある場合に問題が発生する可能性があります。

オプション1と4の間では、デファクトスタンダードと同様に1(またはハイフン)を好みますが、私が知っている公式なものはありません。

** URIのパスコンポーネントの仕様では、大文字と小文字を区別しないように指定されていません。これは、すべての場合に明示的に行われるためです。

于 2013-01-12T01:05:08.277 に答える