2016-07-05 2 views
3

ループバックフレームワークを使用してアプリケーション用のRESTful APIを作成しています。Loopback FrameworkのUser組み込みモデルのプロパティのオーバーライドと名前の変更方法

ドキュメントに続いて、私は自分の顧客モデルを作成し、組み込みモデルのユーザーを拡張します。私のクライアントにとっては、APIは母国語(ポルトガル語)でなければなりません。

私は内蔵のモデルを拡張する場合、いくつかのプロパティは、英語、その他に来るには、パスワードようsenhaであるべきで、例えばユーザ名プロパティを削除、自分のアプリケーションのために意味がありません。

{ 
     "name": "Cliente", 
     "plural": "Clientes", 
     "base": "User", 
     "idInjection": false, 
     "strict":"true", 
    ... 
    } 

    { 
     "name": "User", 
     "properties": { 
     "realm": { 
      "type": "string" 
     }, 
     "username": { 
      "type": "string" 
     }, 
     "password": { 
      "type": "string", 
      "required": true 
     }, 
     "email": { 
      "type": "string", 
      "required": true 
     }, 
     "emailVerified": "boolean", 
     "verificationToken": "string" 
     }, 
    ... 
    } 

私は ノードモジュール内ループバックモデルをmodyfing結果に達したが、この解決策は正しい方法は思えない、私のコードの代わりにループバックベースモデルを変更するには、これを設定への方法は何ですか?

+1

を私はあなたが国際化ソリューションを使用する必要があると思います変数名を変更しない –

+0

IMOでは、API自体は言語固有のものであってはなりませんが、APIを使用するクライアントはローカライズされることに懸念があります。つまり、モデルを拡張している場合は、プロパティがそのまま現われます。必ずしも削除したり変更したりすることはできません。 –

答えて

1

あなたがしようとしていることは、プロパティの名前を変更することだと思いますが、正しいですか? その場合は、次の操作を行うことができます:私はあなたのデータベースコネクタに依存し、「PostgreSQLの」属性を、持っている

"senha": { 
     "type": "string", 
     "id": true, 
     "required": true, 
     "index": true, 
     "postgresql": { 
     "columnName": "password" 
     } 
    } 

お知らせ。それを確認してくださいhere。その属性の中に私のデータベースのその列の本当の名前である "columnName"があります。だから "senha"はその属性の新しい名前です。 usernameプロパティを隠すために、あなたがルートオブジェクトで次の操作を行うことができ

:あなたの最終的なファイルは、次のようなものになるはずです

"hidden":["username"] 

{ 
    "name": "Cliente", 
    "plural": "Clientes", 
    "base": "User", 
    "idInjection": false, 
    "strict": "true", 
    "properties": { 
     "realm": { 
      "type": "string" 
     }, 
     "username": { 
      "type": "string" 
     }, 
     "senha": { 
      "type": "string", 
      "required": true, 
      "postgresql": { 
       "columnName": "password" 
      } 
     }, 
     "email": { 
      "type": "string", 
      "required": true 
     }, 
     "emailVerified": "boolean", 
     "verificationToken": "string" 
    }, 
    "hidden": ["username"] 
} 
関連する問題