サービスとプロファイル2を併用したい。
次のjsonコードのように:
リクエスト:
http://localhost/api/user/1
応答:
{
"uid": "3",
"name": "test1",
"theme": "",
"signature": "",
"signature_format": "filtered_html",
"created": "1393554511",
"access": "1393562420",
"login": "1393562420",
"status": "1",
"timezone": "Asia/Chongqing",
"language": "",
"picture": null,
"data": false,
"roles": {
"2": "authenticated user"
},
"rdf_mapping": {
"rdftype": [
"sioc:UserAccount"
],
"name": {
"predicates": [
"foaf:name"
]
},
"homepage": {
"predicates": [
"foaf:page"
],
"type": "rel"
}
},
"profile 2 field": "test",
"profile 2 field2": "test",
"profile 2 field3": "test",
"profile 2 field4": "test",
"profile 2 field5": "test",
"profile 2 field6": "test"
}
サービスモジュールにコードの詳細がいくつかあります。
modules/services/resources/user_resource.inc
/**
* Get user details.
*
* @param $uid
* UID of the user to be loaded.
*
* @return
* A user object.
*
* @see user_load()
*/
function _user_resource_retrieve($uid) {
$account = user_load($uid);
if (empty($account)) {
return services_error(t('There is no user with ID @uid.', array('@uid' => $uid)), 404);
}
services_remove_user_data($account);
// Everything went right.
return $account;
}
サービスがuser_load()メソッドを呼び出してユーザーのデフォルト情報を取得しているようです。
私はそう思います:
Services Views モジュールを使用して、必要なプロファイル2データを公開できます。
サービスモジュールバージョン3.x以降のビューのサポート。
現在、2つの機能があります。
-ビューベースのリソースを作成し、ビューにサービス表示を作成します
-viewsリソース呼び出しを介してシステムの任意のビューを実行します