1

StackOverflow風のサイトがあるとしましょう。誰かの答えの下にコメントを投稿したい。2つのことが起こる可能性があります。

1)コメント投稿は成功しました。実際にフォーマットされたDIVをJSON応答として返し、JSONを設定します。

{
    "Success": true, 
    "Data": "some escaped html to inject"
}

2)コメント投稿が失敗しました。エラーをJSON応答として返します。

{
    "Success": false, 
    "Data": "You can only post every 15 seconds"
}

これは物事を行う正しい方法ですか?500 Internal errorコメント投稿が失敗したときにStackOverflowがApacheコードを返していることに気付きましたが、これは怪しいと思います。

一部のコメント検証が失敗したという理由だけでなく、サーバーで実際に500 Internal error間違っていることのために予約されていませんか?

4

2 に答える 2

2

使用する500 Internal errorのは少し奇妙だと思いますが、ニーズを満たすために使用できる適用可能な応答コードは多数あります。

ここに良いリストがあります:http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

例:

ユーザーはログインしていません。コメントするにはログインする必要があります。送信:401 Unauthorized

ユーザーがログインして、閉じたスレッドにコメントしようとしています。送信403 Forbiddenまたは400 Bad Request

于 2010-07-18T01:17:28.990 に答える
1

500は理想的ではないことに同意します。クライアントに問題があったため、4xxステータスである必要があります。409が可能な選択です。完全に一致するわけではありませんが、「このコードは、ユーザーが競合を解決してリクエストを再送信できると予想される状況でのみ許可されます」が含まれています。彼らは待つことで対立を解決することができます。

于 2010-07-18T01:17:37.797 に答える