AppPotからデータを取得するためのAPIです。
オブジェクトIdを指定して1件だけ取得する方法と、さまざまな条件を指定して複数のレコードを取得する方法があります。
また、レコードの件数のみを取得するAPIも提供されています。
オブジェクトIdを指定したGet Data
オブジェクトIdを指定して、1件のレコードを取得する場合に使用します。
URL
http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/data/{objectName}/{objectId}?token={userToken}
Authentication
ユーザー認証が完了している必要があります。
Content-Type: application/json
Request parameters
Name |
Data Format |
Description |
objectName |
String |
(Required) 取得したいデータのAPオブジェクト名 |
objectId |
String |
(Required) 取得したいレコードのオブジェクトId |
userToken |
String |
(Required) Login APIの結果得られたユーザートークン |
Request example
http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/grandfather/12345?token=dummytoken
Response example
{
"grandfather":[
{
"serverCreateTime":"2014-10-28T14:49:12.779+07:00",
"createUserId":"2",
"scopeType":"3",
"serverUpdateTime":"2014-10-28T14:49:12.779+07:00",
"CreateTime":"1390085336544",
"groupIds":"{1}",
"UpdateTime":"123546512",
"name":"Grand1",
"serverRecordStatus":"1",
"objectId":"12345"
}
]
}
複雑なクエリを使用するGet Data
さまざまな条件を指定して、複数のレコードを取得する場合に使用します。
URL
http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/data/query/{objectName}
Authentication
ユーザー認証が完了している必要があります。
Content-Type: application/json
apppot-token: token
Name |
Data Format |
Description |
apppot-token |
String |
(Required) Login APIの結果得られたユーザートークン |
Request parameters
Name |
Data Format |
Description |
from |
String |
(Required) 取得するAPオブジェクトに関する情報を指定します |
from.phyName |
String |
(Required) fromのAPオブジェクト名 |
from.alias |
String |
(Required) fromのAPオブジェクトのエイリアス名 |
join |
join配列 |
(Optional) fromで指定したAPオブジェクトと、他のAPオブジェクトを結合させたい場合に使用します |
join.entity |
String |
(joinを指定する場合Required) 結合する対象のAPオブジェクト名 |
join.entityAlias |
String |
(joinを指定する場合Required) 結合する対象のAPオブジェクトのエイリアス |
join.expression |
String |
(joinを指定する場合Required) JOINの際の条件式を指定します。APオブジェクト名はエイリアスを使って下さい |
join.expression.source |
String |
(joinを指定する場合Required) 条件式を指定します。paramsで指定するパラメタは? で指定してください。APオブジェクト名はエイリアスを使って下さい。 |
join.expression.params |
String配列 |
(joinを指定する場合Required) 条件式で指定した? を置き換えるパラメタ値を指定します。 |
join.type |
String |
(joinを指定する場合Required) "INNER JOIN" 、"LEFT OUTER JOIN" 、"RIGHT OUTER JOIN" を指定できます |
where |
whereオブジェクト |
(Optional) if recordId is not specified, return max record data |
where.expression |
expressionオブジェクト |
(whereを指定する場合Required) |
where.expression.source |
String |
(whereを指定する場合Required) 条件式を指定します。paramsで指定するパラメタは? で指定してください。APオブジェクト名はエイリアスを使って下さい。 |
where.expression.params |
String配列 |
(whereを指定する場合Required) 条件式で指定した? を置き換えるパラメタ値を指定します。 |
orderBy |
orderBy配列 |
(Optional) ソートキーを配列で指定できます |
orderBy.column |
String |
(orderByを指定する場合Required) ソートキーに指定するカラム名を指定します。APオブジェクト名はエイリアスを使って下さい |
orderBy.type |
String |
(orderByを指定する場合Required) 昇順の場合は"ASC" 、降順の場合は"DESC" |
range |
rangeオブジェクト |
(Optional) 取得する範囲を指定します。{"offset":"2", "limit":"10" の場合、3件目から10件のデータを取得することを指定したことになります |
range.offset |
String |
(rangeを指定する場合Required) 何件目から取得するかを指定します。1件目の場合は0です。0以上の値を指定する必要があります。 |
range.limit |
String |
(rangeを指定する場合Required) 何件取得するかを指定します。1以上の値を指定する必要があります。 |
Request example
{
"from":{
"phyName":"grandfather",
"alias":"gf"
},
"join":[
{
"expression":{
"source":"#gf.objectId = #fa.refGrand"
},
"entityAlias":"fa",
"type":"INNER JOIN",
"entity":"father"
}
],
"where":{
"expression":{
"source":"#gf.objectId = ?",
"params":[
"1"
]
}
},
"orderBy":[
{
"column":"#gf.createUserId",
"type":"ASC"
}
],
"range":{
"offset":"2",
"limit":"10"
}
}
Response example
{
"fa":[
{
"createUserId":"2",
"refChild":"1",
"serverUpdateTime":"2014-10-28T14:49:12.779+07:00",
"CreateTime":"1390085336544",
"serverCreateTime":"2014-10-28T14:49:12.779+07:00",
"scopeType":"3",
"groupIds":"{1}",
"UpdateTime":"123546512",
"name":"Father1",
"serverRecordStatus":"1",
"age":"",
"objectId":"2",
"refGrand":"1"
}
],
"gr":[
{
"serverCreateTime":"2014-10-28T14:49:12.779+07:00",
"createUserId":"2",
"scopeType":"3",
"serverUpdateTime":"2014-10-28T14:49:12.779+07:00",
"CreateTime":"1390085336544",
"groupIds":"{1}",
"UpdateTime":"123546512",
"name":"Grand1",
"serverRecordStatus":"1",
"objectId":"1"
}
]
}
レコード件数取得
対象のレコードの件数を取得できます。
「複雑なクエリを使用するGet Data」と同じクエリを発行できます。ただし、取得件数を指定するrange指定は無視します。
URL
http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/data/query/{objectName}/count
Authentication
ユーザー認証が完了している必要があります。
Content-Type: application/json
apppot-token: token
Name |
Data Format |
Description |
apppot-token |
String |
(Required) Login APIの結果得られたユーザートークン |
Request parameters
「複雑なクエリを使用するGet Data」と同様です。ただし、取得件数を指定するrange指定は無視します。
Request example
「複雑なクエリを使用するGet Data」と同様です。
Response example
{
"count":1
}
Response properties
Name |
Data Format |
Description |
errCode |
int |
Response error code: 0, 102, 110, 120, 121, 132, 198, 212 |
status |
String |
OK or error |
description |
String |
Error’s description |
results |
String |
Array records. |