在Liferay中使用JSON WS不可能获得用户的生日吗?

在Liferay中使用JSON WS不可能获得用户的生日吗?,liferay,Liferay,我使用Liferay进行用户管理,并使用JSON Web服务与Liferay通信的外部应用程序。当我调用web服务时/user/get user by id { "agreedToTermsOfUse": false, "comments": "", "companyId": 10153, "contactId": 16003, "createDate": 1390552990000, "defaultUser": false, "emailAddress": "basketball@lifer

我使用Liferay进行用户管理,并使用JSON Web服务与Liferay通信的外部应用程序。当我调用web服务时
/user/get user by id

{
"agreedToTermsOfUse": false,
"comments": "",
"companyId": 10153,
"contactId": 16003,
"createDate": 1390552990000,
"defaultUser": false,
"emailAddress": "basketball@liferay.com",
"emailAddressVerified": false,
"facebookId": 0,
"failedLoginAttempts": 0,
"firstName": "Basketball1",
"graceLoginCount": 0,
"greeting": "Welcome Basketball1!",
"jobTitle": "",
"languageId": "en_US",
"lastFailedLoginDate": null,
"lastLoginDate": null,
"lastLoginIP": "",
"lastName": "",
"ldapServerId": -1,
"lockout": false,
"lockoutDate": null,
"loginDate": null,
"loginIP": "",
"middleName": "",
"modifiedDate": 1390992862465,
"openId": "",
"portraitId": 18708,
"reminderQueryAnswer": "",
"reminderQueryQuestion": "",
"screenName": "basketball1",
"status": 0,
"timeZoneId": "Europe/Paris",
"userId": 16002,
"uuid": "3ce789e0-4cb5-45bf-b57e-68c44ea3ec04"
}
还有一些信息,比如生日被错过了。我发现我还可以使用web服务
/user/update user
更改生日,但我无法检索原始值。我怎样才能得到生日信息?是否有其他方法获取丢失的数据


而且。。。如果我想更新用户的任何字段,并且在
/user/update user
中,我必须输入生日,并且我无法检索旧值。。。生日就要结束了

您可以通过联系服务获得用户生日:

http://localhost:8080/api/jsonws/contact/get-contact/contact-id/10202

其中id是用户id

Liferay没有将用户的生日信息存储在用户表中,而是将其存储在联系人表中。不幸的是,没有为联系人表公开web服务方法,您可能必须使用service-builder编写自己的web服务方法。是的,您是对的。我希望在创建用户时在用户中找到所请求的信息。然后,可以通过
contact/get contact
服务获取信息。不需要编写自己的web服务。现在它运行良好。感谢您的评论。是的,正如@Panjak和我在讨论中所评论的。好的解决方案汇集在一起:)