从two-post方法接收字符串-Java Rest
我已经编写了很长时间的JavaREST应用程序,我想使用Post方法发送用户名和文件上下文 我在客户端代码中有两种方法:从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
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)
}
}