2016-07-05 3 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 결과에 도달하지만,이 솔루션은 올바른 방법으로하지 않는 것, 내 코드 대신 루프백 기본 모델 변경이를 config (설정)하는 방법은 무엇입니까?

+1

난 당신이 국제화 솔루션을 사용할 필요가 있다고 생각 :

"hidden":["username"] 

귀하의 최종 파일의 모양은 다음과 같습니다

사용자 이름 속성을 숨기기 위해, 당신은 루트 개체에서 다음을 수행 할 수 변수 이름을 변경하지 마십시오 –

+0

IMO, API 자체는 언어별로 사용해서는 안되며, API를 사용하는 클라이언트는 현지화에 신경을 써야합니다. 즉, 모델을 확장하는 경우 속성은 그대로 유지됩니다. 반드시 삭제하거나 변경할 필요는 없습니다. –

답변

1

"이름을 바꾸는 것"이라고 생각합니까? 맞습니까? 그렇다면, 당신은 다음을 수행 할 수 있습니다 : 나는 당신의 데이터베이스 커넥터에 따라 달라집니다 "PostgreSQL은"속성을 가지고

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

공지 사항. 그것을 here으로 확인하십시오. 그 속성에는 "columnName"이라는 문자열이 있는데, 이는 데이터베이스의 해당 열의 실제 이름입니다. 따라서 "senha"는 그 속성의 새로운 이름입니다.

{ 
    "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"] 
}