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

“路径参数的数量无效。在rest api中传递url参数时,应为0,但为3”错误(请放心)

卫英悟
2023-03-14

尝试用rest-assured测试restapi。获取错误

路径参数数目无效。预期为0,为3。

public class GetSociailDetails {

    @Test
    public void generateToken() {

        Map<String,String> userDetails = new HashMap<>();

        userDetails.put("msISDN", "1217071016");
        userDetails.put("messageSource", "TWITTER");
        userDetails.put("socialId", "168988132");

        given()
        .contentType("application/json")

        .pathParam("access_token", "LLRPqxvU1uoT8YSl8")

        .pathParam("pageNo", "1")

        .pathParam("order", "desc")

        .body(userDetails)

        .post("http://name.com/rest/crm/getdetails")

        .then()

        .statusCode(200);

    }

}

在rest api中传递url参数有不同的方法吗?rest api是POST方法。

共有3个答案

锺离刚洁
2023-03-14

如何在Rest保证中使用路径参数:

  1. 使用pathParam方法将path参数添加到基本URI的末尾

如。

  1. 基本URI:https://www.example.com/
  2. 路径参数:resource/{resourceID}

完整代码:

RestAssured.given(). basUri("https://www.example.com/"). path Param("resourceID","Resource123"). get(/Resources/{resourceID});

完整URI:https://www.example.com/resource/Resource123

丁鸿云
2023-03-14

而不是

.pathParam(“页码”、“1”)

改为

. queryParam("pageNo","1")

这奏效了。

东方和煦
2023-03-14

使用路径参数时,需要将“映射”添加到希望参数出现的URL。e、 g在您的示例中,如果您将post请求更改为以下内容,它将起作用:

.post("http://name.com/rest/crm/getdetails/{access_token}/{pageNo}/{order}")

这将基于您的示例生成以下URL:

http://name.com/rest/crm/getdetails/LLRPqxvU1uoT8YSl8/1/desc
 类似资料:
  • 我一直在使用缓冲本地驱动器上的文件来解析和获取某些数据。出于测试目的,我可以很容易地这样做: 文件阅读器。java文件具有以下功能: 现在,我希望将文件路径作为命令行参数传递。我尝试了一些方法,但我对这方面还是有点陌生,没能成功。有人能帮我解释一下我需要做什么样的更改才能将这些更改合并到我的代码中吗。

  • 我已经使用FastAPI创建了一个简单的API,我正在尝试将URL作为任意的<code>路径</code>参数传递给FastAPI路由。 当我测试它时,它不起作用并抛出错误。我以这种方式测试它:

  • 问题内容: 我可以将数组作为url参数传递的最佳方法是什么?我在想这是否可能: 还是这样: 香港专业教育学院阅读示例,但我发现它很混乱: 问题答案: 有一个非常简单的解决方案:。它把您的查询参数作为一个关联数组: 将返回 为您处理所有必需的转义(=> 和=> ),因此此字符串等于。

  • 我创建了一个带有参数的API,如下所示: 我在body->表单数据中传递了。 然后我在《邮递员》上得到了这样一条消息: 有人知道为什么会有这个消息吗?我们如何在Rest API请求中传递一个映射作为参数?我们怎样才能通过邮递员传递地图?

  • 问题内容: 我尝试过这个,并从JAVA中得到了奇怪的行为,有人可以帮我解释一下吗? 然后我有测试用例: 现在的问题是,如果我打电话直接与参数,我会回来,但如果调用与,它调用,它告诉我该参数不为空,但空数组。 问题答案: 问题是,如果我直接使用参数null调用testNull(),我会回来,但如果使用null调用callTestNull()调用了testNull(),它将告诉我参数不是null,而是

  • 我在Snowflake中创建了一个函数,其中包含两个“日期”参数: 我假设我错过了一些简单的东西。是否因为I已将参数声明为“日期”数据类型,而select语句将我的日期值归类为字符串? 提前致谢