java - 从两个 post 方法接收字符串 - Java Rest

标签 java rest post client

我已经编写一个 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/

相关文章:

php - 使用 cURL 将商品添加到 Shopify 购物车

PHP 引用表现奇怪

java - 为什么在具体实现方法签名中没有继承最终参数修饰符?

git - 如何通过 github rest api 将子模块更新为指定的提交?

java - Spring RestTemplate,返回列表<String>

rest - 无需 Gradle 或 Roxy Framework 的 MarkLogic 自定义 REST API 创建

连接到 MVC Controller 时 JavaScript POST 失败

java - 使用 spring MVC 将文件夹上传到 mysql 时出错

java - 将年份字段的日期转换为两位数时出错

java - 如何在SWT中使GridLayout的某些列增长?