java - 如何正确地将格式化的日期时间传递给 HTTP 请求?
问题描述
我的任务是通过 HTTP 请求调用其端点来为 REST 服务编写测试。HTTP 请求的一部分应该是日期(仅过滤在该日期之后修改的项目)。问题是,我似乎无法正确地将日期传递给 HTTP 请求。
这是在 Rest Controller 中定义端点的方式:
@GetMapping("/{resourceType}/{application}")
public Map<String, Map<String, Map<String, Map<String, String>>>> findByTypeAndApplication(@PathVariable("resourceType") ResourceType type,
@PathVariable("application") String application,
@RequestParam(name = "modifiedAfter", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date modifiedAfter)
给我带来麻烦的是“modifiedAfter”参数。尝试传递根据“模式”格式化的日期似乎对我不起作用。解析为 URL 后,请求将如下所示:
http://.../LANGTEXT/INTEGRATION-EXCEL-TEST?modifiedAfter=2019-06-11%2021%3A28%3A44
我还尝试了 restassured.given 来构建请求。我试图在地址本身中传递参数,作为 param()、作为 queryParam() 和作为 formParam()。我尝试将它作为格式化字符串(根据模式)和 Date 对象传递。似乎没有任何效果。
我无法更改控制器本身(包括日期格式),因此我需要在 HTTP 请求中正确传递日期。
我会很感激任何建议。
谢谢,彼得
解决方案
在服务器端,spring 会自动执行此操作。您不需要指定日期模式。
推荐阅读
- mips - 在 MIPS 中使用单点数创建二维数组
- php - 如何替换文件中的\'?
- c# - C# ClosedXML 库插入额外的列而不影响现有公式
- python - 视图中的 for 循环
- security - 防止在未成功验证的情况下显示 UI5 应用程序内部页面
- image-processing - 插值与平均值
- python - 将 JSON 转储解码为对象
- c# - 如何从 GameObjects 网格中制作一个圆圈?
- scala - inumtable.List[Object] 找到所需的 List[Contact]
- c# - 实体未使用 Entity Framework 6 在数据库中更新