从two-post方法接收字符串-Java Rest

从two-post方法接收字符串-Java Rest,java,rest,post,client,Java,Rest,Post,Client,我已经编写了很长时间的JavaREST应用程序,我想使用Post方法发送用户名和文件上下文 我在客户端代码中有两种方法: public void postUser(String user) public void postFile(File myFile) 这两个方法发送字符串 以及我的服务器的post方法,该方法从postUser方法接收字符串: @Post public void userPost(String

我已经编写了很长时间的JavaREST应用程序,我想使用Post方法发送用户名和文件上下文

我在客户端代码中有两种方法:

public void postUser(String user)

public void postFile(File myFile)
这两个方法发送字符串

以及我的服务器的post方法,该方法从postUser方法接收字符串:

@Post                                       
public void userPost(String name) {
User.getInstance().addUser(name);
}

我想从postFile方法接收字符串,并将其保存到与userPost方法不同的变量中。最好的方法是什么

我理解正确吗?你想调用像

postUser(user);
postFile(myFile);
在客户机中,以某种有状态的方式处理两个不同的请求(接收方应该知道这一点)

相反,您可以将两个请求封装在一个中(一个请求包含两个参数)。差不多

 postUserFile(user,file);
在请求接收器中

@Post                                       
public void nameFilePost(String name, File file) {
  userPost(name);
  filePost(file)
}
我不知道您正在使用的框架,但是在方法中,它看起来像这样

@PATH("/yourPath/")
public class YourClassNameHere{

@POST                                    
public void nameFilePost(@QueryParam("name") String name, @QueryParam("file") File file) {
  userPost(name);
  filePost(file)
  }
}

最后一件事:不要使用单例,它们是全局变量,因此不好

谢谢你的回复。但是,我希望这两个方法是独立的,因为我不会同时发送这两个数据(文件比用户名更频繁)。我理解,我正在使用Restlet作为我的框架。查看这篇文章,您可以阅读更多关于statefull REST服务的一般信息。
@PATH("/yourPath/")
public class YourClassNameHere{

@POST                                    
public void nameFilePost(@QueryParam("name") String name, @QueryParam("file") File file) {
  userPost(name);
  filePost(file)
  }
}