有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用Spring api向服务器发送数据

我想通过Spring api将数据从我的安卓客户端发送到我的Restful Spring web服务,但我得到了以下信息:有人能帮我吗? 例如,我想向我的服务器注册一个用户,在我的服务器端,我有这样的注册方法:

@RequestMapping(value = "/register")
public boolean registerNewUser(@RequestParam(name = "user")User user){
    if(user!=null){
        try {
            SessionFactory sessionFactory=HibenateConnection.connectingHibernate();
            Session session=sessionFactory.openSession();
            session.beginTransaction();
            session.save(user);
            session.getTransaction().commit();
            session.close();
            return true;
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    return false;
}

在客户端,我在Asynctask类中打开连接,如下所示:

@Override
protected ResponseHandler doInBackground(Object... params) {
    try {
        serverResponse=new ServerResponse();
        result = restTemplate.getForObject(URL+conditions,tClass,params);
        serverResponse.singleResult=result;
        serverResponse.isReady=true;
        responseHandler.onServerRespond(serverResponse);
    }catch (Exception e){
        serverResponse.isReady=false;
        serverResponse.message=e.getMessage();
    }
    return responseHandler;
}

我在我的用户活动中调用了这个方法:

public static void registerUser(User user,ResponseHandler responseHandler){
    String condition="/user_api/register?user=";
    new Core<Long>(condition,Long.class,responseHandler).execute(user);
}

我在我的核心AsynTask类的第restTemplate.getForObject(URL+conditions,tClass,params);行得到了一个execption,这个execption是:

Could not create URI object: Illegal character in scheme at index 0: 192.168.1.2:/3000/user_api/register?user

我的服务器Url是192.168.1.2:3000


共 (1) 个答案

  1. # 1 楼答案

    答案很简单,但通常很难调试,因为很容易忘记在本地url 192.168.1.2之前添加协议部分http://。因此,在您的案例中,结束url应该如下所示:

    URL="http://192.168.1.2:3000"