当前位置: 首页 > 面试题库 >

REST-使用JSON进行HTTP发布

籍弘伟
2023-03-14
问题内容

我需要接收仅包含2个参数的HTTP Post Multipart:

  • JSON字符串
  • 二进制文件

设置身体的正确方法是哪一种?我将使用Chrome REST控制台测试HTTP调用,因此我想知道是否正确的解决方案是为JSON参数和二进制文件设置“标签”键。

在服务器端,我正在使用Resteasy 2.x,我将像这样阅读Multipart主体:

@POST
@Consumes("multipart/form-data")
public String postWithPhoto(MultipartFormDataInput  multiPart) {
  Map <String, List<InputPart>> params = multiPart.getFormDataMap();
  String myJson = params.get("myJsonName").get(0).getBodyAsString();
  InputPart imagePart = params.get("photo").get(0);
  //do whatever I need to do with my json and my photo
}

这是要走的路吗?使用标识该特定内容处置的键“
myJsonName”检索我的JSON字符串是否正确?还有其他方法可以在一个HTTP多部分请求中接收这2个内容吗?

提前致谢


问题答案:

如果我对您的理解正确,那么您想从HTTP / REST控制台手动编写一个多部分请求。分段格式很简单;简短的介绍可以在HTML
4.01规范中找到
。您需要提出一个边界,即在内容中找不到的字符串HereGoes。您设置请求标头Content- Type: multipart/form-data; boundary=HereGoes。然后,这应该是一个有效的请求正文:

--HereGoes
Content-Disposition: form-data; name="myJsonString"
Content-Type: application/json

{"foo": "bar"}
--HereGoes
Content-Disposition: form-data; name="photo"
Content-Type: image/jpeg
Content-Transfer-Encoding: base64

<...JPEG content in base64...>
--HereGoes--


 类似资料:
  • 我正在尝试验证Json Objects。我使用https://code.google.com/p/rest-assured/wiki/Downloads?tm=2, greeter-schema.json:http://cs606926.vk.me/v606926718/15603/0Kauo1bTDi8.jpg 即使JsonString不等于这个“{\”isSuccess\“:false}”,我

  • 问题内容: 我是Go的新手,我正在尝试构建一个简单的HTTP服务器。但是我在JSON响应中遇到了一些问题。我编写了以下代码,然后尝试邮递员发送一些JSON数据。但是,我的邮递员总是得到空响应,而is 。然后,我在http://www.alexedwards.net/blog/golang-response- snippets#json中 检查了一个示例。我复制并粘贴了示例,并且效果很好。但是我看不

  • 问题内容: 我正在尝试使用Go登录网站并存储cookie以供以后使用。 您能否提供示例代码来发布表单,存储cookie以及使用cookie访问另一个页面? 我认为我可能需要通过研究http://gotour.golang.org/src/pkg/net/http/client.go来使客户端存储cookie。 问题答案: Go 1.1引入了一个cookie jar实现。

  • 问题内容: 我想在Java中使用JSON进行简单的HTTP POST。 假设网址是 并采用标记为例如的值。 我将如何为POST创建语法? 我似乎也无法在JSON Javadocs中找到POST方法。 问题答案: 这是你需要做的: 获取Apache HttpClient,这将使你能够发出所需的请求 使用它创建一个HttpPost请求,并添加标题“ application / x-www-form-u

  • 当我发出请求时,我会得到一个XML响应,但我需要的是JSON。在文档中,为了得到一个JSON,需要声明:使用HTTP头。 在哪里可以找到要放入的HTTP头? 我猜它不应该在URL请求中,如下所示:

  • 问题内容: 当我发出请求时,我得到了XML响应,但是我需要的是JSON。在文档中进行了说明,以获取JSON作为回报:使用HTTP标头。 在哪里可以找到HTTP标头? 我的猜测是它不是应该位于URL请求中,它看起来像: 问题答案: 您猜对了,HTTP标头不是URL的一部分。 而且,当您在浏览器中键入URL时,将使用标准标头发出请求。无论如何,不​​要通过在浏览器的地址栏中键入终结点来使用REST A