我已经编写一个 Java Rest 应用程序很长时间了,我想使用 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);
在客户端中,以某种有状态的方式处理两个不同的请求(接收者应该知道这一点)。
@Post
public void userPost(String name) {
User.getInstance().addUser(name);
}
@Post
public void filePost(File file) {
//processing the file, ONLY IF the userPost method is already invoked
}
相反,您可以将两个请求封装在一个请求中(一个请求有两个参数)。类似的东西
postUserFile(user,file);
在请求接收器中...
@Post
public void nameFilePost(String name, File file) {
userPost(name);
filePost(file)
}
我不认识您正在使用的框架,但在 JAX-RS 中该方法看起来像这样
@PATH("/yourPath/")
public class YourClassNameHere{
@POST
public void nameFilePost(@QueryParam("name") String name, @QueryParam("file") File file) {
userPost(name);
filePost(file)
}
}
最后一件事:不要使用单例,它们是全局变量,因此不好。 Why global variables are bad.
关于java - 从两个 post 方法接收字符串 - Java Rest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9942232/