仮に以下のような構成で、ajaxリクエストに対して条件にヒットしたユーザー一覧を返すシステムを組んだとします。
※ブラウザに直接打ち込んでいるため、シンタックスに問題があった時ははお見逃しください。
javascript
1var gender = 1 // manに相当; 2var birth = "1990"; 3$.ajax({ 4 type: "POST", 5 url: "/getUerFromGender", 6 data: {"gender" : gender, "birth" : birth} 7}).done(function(res) { 8 ~ resを画面に反映 ~ 9});
java
1// getUerFromGender で稼働する処理 2pullic Array<User> getUerFromGender(){ 3 Array<User> userList = new Array<User>; 4 ~性別、誕生年でuserを検索~ 5 return userList; // ヒットしたユーザー一覧を返す 6}
上記のような処理で正常系は問題ないのですが、何かエラーがあったときのレスポンスをどう書くべきか迷っています。
具体的には、ヒット件数が多いからさらに絞込をして欲しい時、想定外の値がPOSTされたときなどです。
原因次第でフロントに表示するエラーメッセージは違うものとします。
現状はUserクラスにエラーフィールドを持たせ、エラーがあった場合はuserListにUserを1つだけ格納し、エラーフィールドにエラーコードを入れることで対処しています。
問題がなかったときは、Userクラスのエラーフィールドは勿論空です。
レスポンス件数が1件だけだった場合、エラーの可能性があるのでエラーフィールドを見に行きます。
上記の方法ですが、正直あまり良い方法だとは思ってはいません。
他にそもそも直接Array<User>で返すのではなく、Array<User>を収録したクラスを別に用意し、そこにエラーフィールドを持たせる方法も思いつきましたが、毎回配列をajaxで返すときそんな面倒なことしなければいけないものかと悩んでいます。
何か良い方法をご存知の方がいらしたら、ご教示ください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/11 08:26
2016/02/11 08:36
2016/02/20 06:41