我正在关注MobileFirst Platform 7的Java SQL Adapter教程。
我正在尝试使用userId =“bjones”获取用户,但我不知道如何将params {userId}
设置到过程/adapters/UserAdapter/{userId}
中。
function loadUsers(){
busyIndicator.show();
var resourceRequest = new WLResourceRequest("/adapters/UserAdapter/", WLResourceRequest.GET);
resourceRequest.setQueryParameter("userId", "bjones");
resourceRequest.send().then(
loadUsersSuccess,
loadUsersFailure
);}
function loadUsersSuccess(result){
WL.Logger.debug("Feed retrieve success");
busyIndicator.hide();
WL.Logger.debug(JSON.stringify(result));
if (result.responseJSON.length>0)
displayFeeds(result.responseJSON);
else
loadUsersFailure();}
function loadUsersFailure(result){
WL.Logger.error("Feed retrieve failure");
busyIndicator.hide();
WL.SimpleDialog.show("Banking Application", "Service not available. Try again later.",
[{
text : 'Reload',
handler : WL.Client.reloadApp
},
{
text: 'Close',
handler : function() {}
}]
);}
我的要求是
本地主机:10080 / JavaAdapters /适配器/ UserAdapter /用户id = bjones
但JSON响应包含存储在我的数据库中的所有用户 Image for response
此外,REST调用类型@PUT
如何使用Path param“userId”和body params:“firstName”,“lastName”,“password”,以便更新用户
答案 0 :(得分:1)
从教程中,适配器端点为/{userId}
,这意味着userId
不是查询参数,但它是URL的一部分。您需要更新loadUsers
功能,以便在网址末尾添加userId
,因此在您的示例中,完整路径为/adapters/UserAdapter/bjones
function loadUsers(){
busyIndicator.show();
var usedId = "bjones";
var resourceRequest = new WLResourceRequest("/adapters/UserAdapter/"+userId, WLResourceRequest.GET);
resourceRequest.send().then(loadUsersSuccess,loadUsersFailure);
}
<强>更新强>
function loadUsersSuccess(result) {
WL.Logger.debug("Feed retrieve success");
busyIndicator.hide();
WL.Logger.debug(JSON.stringify(result));
// if responseJSON is not null user data was returned
if (result.responseJSON != null) {
displayFeeds(result.responseJSON);
} else{
loadUsersFailure();
}
}
答案 1 :(得分:1)
基本上有两种带参数的URL: 1.路径参数: /适配器/ UserAdapter /用户/ {用户id} 2.查询参数: /适配器/ UserAdapter /用户?用户id = {} userId的
带有查询参数的java适配器:
series: {
stack: true,
bars: {
show: true,
align: 'center',
barWidth: 0.5,
lineWidth: 0,
fillColor: {
colors: [{
opacity: 1.0
}, {
opacity: 1.0
}]
}
}
}
带路径参数的java适配器:
@GET
@Produces("application/json")
@OAuthSecurity(enabled = false)
@Path("/users")
public String getuserById(@QueryParam("userID") String userId)
{
System.out.println(userId);
}
我希望,第二个例子在java适配器中回答你的问题。