NIFCLOUD-mbaas / ncmb_js

ニフクラ mobile backend JavaScript SDK
https://mbaas.nifcloud.com
Other
28 stars 27 forks source link

会員登録時エラー #173

Closed hrs-nkym closed 7 years ago

hrs-nkym commented 7 years ago

お世話になっております。

monacaとnifty mbaasで会員登録機能を実装したところ、下記の エラーが発生したりしなかったりと不安定な動作が見受けられました。

エラーメッセージ番号が違いますが同様かと思われる過去のissuesがありました。

iOS10だと正常にデータを取得できない https://github.com/NIFTYCloud-mbaas/ncmb_js/issues/165

iOS10とmonacaでデバイストークン取得時にエラー https://github.com/NIFTYCloud-mbaas/UserCommunity/issues/552

下記のOS、端末で同様の動作が発生します。

原因切り分け中ですが、ご存知の方おりましたら ご教示ください。

不具合の概要(Description of bug)

` var user = new ncmb.User();

user.set('userName', $scope.user.id) .set('password', $scope.user.pass) .set('mailAddress', $scope.user.email) .set('telNumber', $scope.user.tel) .set('pref', $scope.user.pref) .set('gender', $scope.user.gender);

user.signUpByAccount() .then(function(){ alert('success'); currentLoginUser = ncmb.User.getCurrentUser(); location.href = "index.html"; }) .catch(function(err){ alert('failure'+err); });

`

Error: cannot POST https://mb.api.cloud.nifty.com:443/2013-09-01/users (409)

hrs-nkym commented 7 years ago

追記となります。

先に記載した"不具合を再現させるサンプルコード"ですが 項目数6項目と記載しましたが、実際には11項目あります。

これをuserとpasswordの2項目程度に減らすと問題なく登録されます。

下記のサンプルも3項目程度です。 http://mb.cloud.nifty.com/doc/current/user/basic_usage_monaca.html

そこで試しに最初は2項目、そして少しずつ項目数を増やしてみたところ 9項目目でエラーが発生しました。 そして再度2項目に減らしてみますと正常に登録されます。

一度に多数の項目を登録させるのはUX的にもあまり良くないのでしょうか。

ykokw commented 7 years ago

@hrs-nkym

REST API リファレンス : エラーコード一覧 | ニフティクラウド mobile backendにエラーの一覧があります。

上記ページにあるような E40xxxxエラーの詳細を見てみるのもいいと思いますが E40x のEを除いた部分がHTTPステータスコードとリンクしているので、 今回はデータの重複エラーがサーバーから返ってきているようです。

デバッグ目的で同じユーザー名での会員登録を複数回ためした場合などに 今回のようなエラーが発生すると思うのですがいかがでしょうか。

一度に多数の項目を登録させるのはUX的にもあまり良くないのでしょうか。

これについては問題ないと思います。

hrs-nkym commented 7 years ago

@ykokw

ご返信、ありがとうございます。

なるほど、HTTPステータスコードとリンクしていたんですね。 さきほど試しに11項目の全ての値を変えたところ複数回、試行して全て正常に登録されました。

調べてみると下記の値が既に登録されている値と重複している場合、409エラーが返ってくるようです。 自分で追加したフィールドは重複しても今のところ問題ないようです。

・ユーザー名(userName ) ・メールアドレス(mailAddress)

もう少し検証を続け、新たな問題がなければ週末には本issueはcloseします。