我写了一个简单的Postman Collection,其中包含一些针对我用来计算基于游戏的东西的API的请求。
在本地,请求按预期工作。在监视器上,他们似乎没有发送任何邮件。
我确实在标题中将COntent-Type手动设置为application / json。我的请求具有JSON正文。
您可以在https://ffxiv-dps.herokuapp.com/dps上测试请求API 具有以下主体:
{
"job": "PLD",
"stats": {
"WD": 109,
"Strength": 2735,
"DirectHit": 785,
"CriticalHit": 2625,
"Determination": 1075,
"SkillSpeed": 1133,
"Vitality": 3754,
"Tenacity": 852,
"Defense": 5737
}
}
我的测试如下:
pm.test("Response is ok", function() {
pm.response.to.have.status(200);
});
pm.test("Response Body has JSON with data", function() {
pm.response.to.have.jsonBody("StatisticIntervals");
pm.response.to.have.jsonBody("DamagePerSecond");
});
pm.test("Response Body has valid JSON Data", function() {
var responseJSON = pm.response.json();
pm.expect(responseJSON.StatisticIntervals.CriticalHit).to.be.ok;
console.log("Critical Hit is OK");
pm.expect(responseJSON.StatisticIntervals.DirectHit).to.be.ok;
console.log("Direct Hit is OK");
pm.expect(responseJSON.StatisticIntervals.Determination).to.be.ok;
console.log("Determination is OK");
pm.expect(responseJSON.StatisticIntervals.SkillSpeed).to.be.ok;
console.log("Skill Speed is OK");
pm.expect(responseJSON.StatisticIntervals.Tenacity).to.be.ok;
console.log("Tenacity is OK");
pm.expect(responseJSON.StatisticIntervals.Defense).to.be.ok;
console.log("Defense is OK");
pm.expect(responseJSON.DamagePerSecond).to.be.ok;
console.log("DPS is OK");
})
请注意,此Web服务器在Heroku dyno上运行,因此可能需要一些时间才能退出空闲状态。
有了它,您应该能够重现该问题-它可以在本地运行,但不能在Monitor上运行(我的API会以400:Bad Request响应-很好,但此请求应该产生的错误)。< / p>
答案 0 :(得分:0)
运行以下请求:
curl --location --request GET "https://ffxiv-dps.herokuapp.com/dps" \
--header "Content-Type: application/json" \
--data "{
\"job\": \"PLD\",
\"stats\": {
\"WD\": 109,
\"Strength\": 2735,
\"DirectHit\": 785,
\"CriticalHit\": 2625,
\"Determination\": 1075,
\"SkillSpeed\": 1133,
\"Vitality\": 3754,
\"Tenacity\": 852,
\"Defense\": 5737
}
}"
在本地以及在监视器上的都会产生相同的结果,即所有测试均通过。