MobileFirst 7.0 - 使用 REST API 调用示例 Java SQL 适配器失败
MobileFirst 7.0 - Invoking sample Java SQL Adapter with REST API fails
我正在学习 MobileFirst Platform 7 的 Java SQL Adapter 教程。
我正在尝试使用 REST 调用类型 @POST
创建新用户,但 chrome 控制台是
POST http://192.168.56.1:10080/JavaAdapters/adapters/UserAdapter/?userId=test&lastName=test&firstName=test&password=test 409 (Conflict)
响应是
Column 'userId' cannot be null
我认为这个程序的参数设置为空值
这是我的代码
var userId = "test";var lastName = "test";var firstName = "test";var password = "test";
function createUser(userId,lastName,firstName,password){
busyIndicator.show();
var resourceRequest = new WLResourceRequest("/adapters/UserAdapter/", WLResourceRequest.POST);
resourceRequest.setQueryParameter("userId", userId);
resourceRequest.setQueryParameter("lastName", lastName);
resourceRequest.setQueryParameter("firstName", firstName);
resourceRequest.setQueryParameter("password", password);
resourceRequest.send().then(
createUserSuccess,
createUserFailure
);}
由于您正在向适配器发送 POST
请求,因此您不应使用 setQueryParameter
,因为它是为 GET
请求而设计的,您应该使用 sendFormParameters
send
个。您更新后的代码应如下所示:
function createUser(userId, lastName, firstName, password){
busyIndicator.show();
var resourceRequest = new WLResourceRequest("/adapters/UserAdapter/", WLResourceRequest.POST);
var user = {
"userId": userId,
"firstName": firstName,
"lastName": lastName,
"password": password
};
resourceRequest.sendFormParameters(user).then(createUserSuccess).fail(createUserFailure);
}
我正在学习 MobileFirst Platform 7 的 Java SQL Adapter 教程。
我正在尝试使用 REST 调用类型 @POST
创建新用户,但 chrome 控制台是
POST http://192.168.56.1:10080/JavaAdapters/adapters/UserAdapter/?userId=test&lastName=test&firstName=test&password=test 409 (Conflict)
响应是
Column 'userId' cannot be null
我认为这个程序的参数设置为空值
这是我的代码
var userId = "test";var lastName = "test";var firstName = "test";var password = "test";
function createUser(userId,lastName,firstName,password){
busyIndicator.show();
var resourceRequest = new WLResourceRequest("/adapters/UserAdapter/", WLResourceRequest.POST);
resourceRequest.setQueryParameter("userId", userId);
resourceRequest.setQueryParameter("lastName", lastName);
resourceRequest.setQueryParameter("firstName", firstName);
resourceRequest.setQueryParameter("password", password);
resourceRequest.send().then(
createUserSuccess,
createUserFailure
);}
由于您正在向适配器发送 POST
请求,因此您不应使用 setQueryParameter
,因为它是为 GET
请求而设计的,您应该使用 sendFormParameters
send
个。您更新后的代码应如下所示:
function createUser(userId, lastName, firstName, password){
busyIndicator.show();
var resourceRequest = new WLResourceRequest("/adapters/UserAdapter/", WLResourceRequest.POST);
var user = {
"userId": userId,
"firstName": firstName,
"lastName": lastName,
"password": password
};
resourceRequest.sendFormParameters(user).then(createUserSuccess).fail(createUserFailure);
}