小编Ray*_*med的帖子

静态 Json 文件的响应模板

我在java中使用WireMock来存根POST请求。该请求返回一个存储在我本地的 json 正文文件。存根看起来像这样:

wireMockServer.stubFor(get(urlMatching("/v1/invoices/.*"))
            .willReturn(aResponse()
                .withStatus(200)
                .withBodyFile("testgetupgradeprorationamount/stubThree")));
Run Code Online (Sandbox Code Playgroud)

响应正文文件的一部分,“stubThree”如下所示:

"id": "ii_1EmM93Htp4Kkdrs8",
                "object": "line_item",
                "amount": 9600,
                "currency": "usd",
                "description": "Remaining time on 3 × Business after 17 Jun 2019",
                "discountable": false,
                "invoice_item": "ii_1EmM93HtpLyYzpmOC4Kkdrs8",
                "livemode": false,
                "metadata": {
                },
                "period": {
                    "end": 1563374954,
                    "start": 1560782957
                }
Run Code Online (Sandbox Code Playgroud)

请求 url 有许多参数,如下所示:

/v1/invoices/?subscription_items[0][quantity]=3&subscription_proration_date=1560892137&customer=cus_FHNIIE4b8LH7qL"
Run Code Online (Sandbox Code Playgroud)

存根工作正常,但我的目标是使用响应模板提供动态响应。我只想使用请求 url 中的“subscription_proration_date”值更新 json 文件的“开始”字段。

我像这样更改了开始字段和存根:

"period": {
                    "end": 1566053354,
                    "start": "{{request.query.subscription_proration_date}}"
                },

Run Code Online (Sandbox Code Playgroud)
wireMockServer.stubFor(get(urlMatching("/v1/invoices/.*"))
            .willReturn(aResponse()
                .withStatus(200)
                .withBodyFile("testgetupgradeprorationamount/stubThree")
                .withTransformers("response-template")));




Run Code Online (Sandbox Code Playgroud)

这对我不起作用,所以任何指示都会非常有帮助。我还尝试删除文件中开始字段把手周围的引号,但这也不起作用。

先感谢您!

response templating wiremock

4
推荐指数
1
解决办法
1463
查看次数

作为独立运行 WireMock 服务器

我正在尝试设置一个模拟服务器wireMock作为独立进程。我下载了 jar 文件并执行了以下命令:

java -jar wiremock-standalone-2.23.2.jar --port 0
Run Code Online (Sandbox Code Playgroud)

我必须动态确定端口,因为我已经在我的计算机上运行的另一个程序使用默认的 8080 端口。它给了我端口号 55142,但是当我尝试在网络上访问该端口时,它给了我以下错误:

HTTP ERROR 403
Problem accessing /__files/. Reason:

Forbidden

Powered by Jetty://
Run Code Online (Sandbox Code Playgroud)

jar wiremock

2
推荐指数
1
解决办法
3746
查看次数

标签 统计

wiremock ×2

jar ×1

response ×1

templating ×1