現在WebApiのラッパーライブラリを作成中です。
WebApiで、「すでに~済みの場合は、ステータスコード204を返す」というのがあります。
こういう時、返ってくるステータスコードによりどのような設計にすればいいのかがわからず困っています。
このwebApiでは、返ってくる可能性のあるコードは「200、201、204、400、401、403、404、500」です。
(疑問1)
ステータスコードが200
や201
で返ってきた場合でも、true
を返した方がいい?
(疑問2)
400,500番代は、すべてfalse
で返してもいい?
試しに「まだ~していない」場合のパターンを実行してみると404
が返却されました。
一律falseを返すと、Httpのエラーでfalse
なのか「まだ~していない」からfalse
なのかわからなくなりますが、大丈夫でしょうか?
それとも、404
だったらfalse
、それ以外のエラーだった場合はexception
にした方がいいのでしょうか?
以上、ご教授お願いします。
[2015/02/14 追記]
CertaiN さん
回答有難うございます。
ライブラリ利用者が使用する場合のイメージは↓のような感じでしょうか?
lang
1$api = new myApi(); 2// ユーザをフォロー済みかどうかを判定しようとしています。 3try { 4 if($api->isUserFollow($user_id)) { 5 //ユーザをフォロー済みの時の処理 6 } 7} catch( HttpException $e) { 8 // HttpException は自作例外です。 9 10 if($e->getStatusCode() === 404) { 11 // ユーザを未フォローの時の処理 12 } else { 13 // 例外処理 14 } 15}
上記のように、何かを判定する場合の404
はステータスコード上では、確かに不正なリクエストです。
しかし、判定させているApiの場合は**正しく不正リクエストしている(?)**という感じがしています。(その扱いで、少しモヤモヤしています…)
意図した不正リクエストだから、false
でもいいのかなーと悩んでいます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/02/14 07:11
2015/02/15 02:52
退会済みユーザー
2015/02/15 04:50