【问题标题】:MobileFirst 7.0 - Invoking sample Java SQL Adapter with REST API failsMobileFirst 7.0 - 使用 REST API 调用示例 Java SQL 适配器失败
【发布时间】:2015-04-16 18:00:25
【问题描述】:

我正在关注 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(冲突)

反应是

列'userId'不能为空

我认为这个过程的参数设置为空值

这是我的代码

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
);}

【问题讨论】:

    标签: ibm-mobilefirst mobilefirst-adapters


    【解决方案1】:

    由于您正在向适配器发送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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多