当前位置: 首页 > 知识库问答 >
问题:

如何使用放心发布复杂的 XML

裴学
2023-03-14

使用放心,我们可以轻松执行GET,POST和其他方法。在下面的示例中,我们将 POST 发送到返回 JSON 响应的 API。

@Test
public void reserveARide()
{
    given().
        header("Authorization", "abcdefgh-123456").
        param("rideId", "gffgr-3423-gsdgh").
        param("guestCount", 2).
    when().
        post("http://someWebsite/reserveRide").
    then().
        contentType(ContentType.JSON).
        body("result.message", equalTo("success"));
}

但是我需要创建具有复杂XML正文的POST请求。正文示例:

<?xml version="1.0" encoding="UTF-8"?>
<request protocol="3.0" version="xxx" session="xxx">
<info1 param1="xxx" version="xxx" size="xxx" notes="xxx"/>
<info2 param1="xxx" version="xxx" size="xxx" notes="xxx"/>
</request>

我该怎么做?提前感谢您

共有2个答案

孙渝
2023-03-14

我相信你可以简单地这样做:

given().
    contentType("application/xml").
    body(yourbody).
...
...

您还可以发送可序列化的对象,请参阅:https://github.com/jayway/rest-assured/wiki/Usage#serialization

卓俊晖
2023-03-14

我将我的主体保存在resources目录中,并使用下面的方法将它们读入一个字符串:

public static String generateStringFromResource(String path) throws IOException {

    return new String(Files.readAllBytes(Paths.get(path)));

}

那么,在我的请求中,我可以说:

String myRequest = generateStringFromResource("path/to/xml.xml")

        given()
            .contentType("application/xml")
            .body(myRequest)
        .when()
            .put("my.url/endpoint/")
        .then()
            statusCode(200)
 类似资料:
  • 如果这是重复的,我想提前向您道歉,但是,我在过去的两天里一直在四处寻找,没有找到任何解决我问题的方法。 我已经创建了一个web服务,我想向其发布一个JSON对象。我的问题如下: 假设我有三个对象。 如您所见,ObjectC引用了ObjectA和ObjectB,它们也引用了ObjectA。插入新ObjectC时,ObjectC. ObjtA应该与ObjectC. ObjtB. ObjtA相同。 PO

  • 我必须发送一个带有xml数据的post请求,然后验证响应,例如检查状态代码和响应体。

  • 编辑:这似乎也发生在PUTs上。 使用spring data rest webmvc 2.1.0版。BUILD-SNAPSHOT我发现我无法发布关系指向已存在资源的资源。我有两个这样的实体,它们需要实例化引用并发布到它们的任一endpoint,从而导致以下行为。 在没有必要的参考资料的情况下发布资源效果很好。 我做了一点挖掘,似乎发现很好,但它最终在检查是否可以反序列化类型时抛出异常。异常的原因是

  • 问题内容: 我当前的代码如下所示。如何将数组传递给控制器​​,控制器动作必须接受哪种参数? 我的控制器动作方法看起来像 问题答案: 我找到了解决方案。我使用了Steve Gentile,jQuery和ASP.NETMVC的解决方案-将JSON发送到Action-Revisited。 我的ASP.NET MVC视图代码如下所示: 并且我的控制器动作装饰有一个自定义属性 可在此处找到自定义属性的代码(

  • 作者:徐飞 在dva的官方仓库里,提供了上手教程,讲述了dva的一些基本概念。到了真实的业务开发过程中,会遇到许许多多不能用那些基本操作覆盖的场景,本文尝试列举一些常见的需求在dva中的实现方式。 动态加载model 有不少业务场景下,我们可能会定义出很多个model,但并不需要在应用启动的时候就全部加载,比较典型的是各类管理控制台。如果每个功能页面是通过路由切换,互相之间没有关系的话,通常会使用

  • 我写了一个可以上传文件到服务器的服务,现在我正在放心地编写它的集成测试。功能代码如下: 如果我添加标题信息“content-type=multipart/form-data”,我将得到这样的消息:“400-Request不是一个多部分请求,有关更多信息,请参见详细信息”。这部分也让我感到困惑,因为在上面的图像中,您可以看到我正在发送一个“表单数据”文件,这怎么可能不是一个多部分请求呢? 不管怎样,