MockMvc显示相应的curl命令或http请求

时间:2013-06-25 15:59:45

标签: java api spring-mvc curl

我有一行代码可以对API执行请求,但我无法确定请求的确切格式。 来自heremapper.writeValueAsString

来自here

mockMvc

mockMvc.perform(post("/press/group").param("filterId", filterId).content(mapper.writeValueAsString(someObject)).contentType(MediaType.APPLICATION_JSON))

我正在尝试将代码转换为Python,如果有办法让我的mockMvc输出相应的HTML请求,那将非常有用。我查询的API缺少文档

谢谢,我们非常感谢任何指导

3 个答案:

答案 0 :(得分:0)

不了解mockMVC,但如果在HTML页面中呈现,则可以使用Chrome开发人员工具为您生成curl语句。

启动工具/开发者工具,单击网络选项卡,单击导致请求的链接/按钮/事物,在网络选项卡中找到请求,右键单击,复制为cUrl。

显然,如果它没有在HTML页面中呈现,那么这不会有很大的帮助。

答案 1 :(得分:0)

提取mapper.writeValueAsString(someObject)

字符串的值

此字符串为JSON (MediaType.APPLICATION_JSON),因此它应如下所示:

{"attribute":"value","attribute":"value"}

param("filterId", filterId) 被添加到您的网址(变量filterId是一些字符串,所以提取它)

/press/group?filterId:filterIdString

将其粘贴到卷曲消息:

curl -X POST -d '{"attribute":"value","attribute":"value"}' -H "Content-Type: application/json" "admin:password@localhost:8080/press/group?filterId:filterId" -i

看看回应

解释

X类型的请求

-d数据

-H内容类型

admin:passwor@凭据

-i信息

答案 2 :(得分:0)

MockMvc允许您打印请求和响应。 在你的情况下,你应该这样做:

_id

这会将输出打印到控制台,它看起来像这样:

"scripts": {
"start": "node_modules/.bin/webpack --config webpack.js --watch",
...
  },

这应该足以让您在python中构造http请求。