如何在 Postman 中使用 Request 参数进行 Get Request
How to make Get Request with Request param in Postman
我创建了一个在其请求参数中接受字符串的端点
@GetMapping(value = "/validate")
private void validateExpression(@RequestParam(value = "expression") String expression) {
System.out.println(expression);
// code to validate the input string
}
邮递员发送请求时
https://localhost:8443/validate?expression=Y07607=Curr_month:Y07606/Curr_month:Y07608
// 可以说这是一个有效的输入
控制台显示为
Y07607=Curr_month:Y07606/Curr_month:Y07608 Valid
但是当我发送
https://localhost:8443/validate?expression=Y07607=Curr_month:Y07606+Curr_month:Y07608
//这也是一个有效的输入
控制台显示为
Y07607=Curr_month:Y07606 Curr_month:Y07608 Invalid
我不明白为什么不接受“+”作为参数。
"+" 消失直到到达 api!为什么?
我建议将此正则表达式添加到您的代码中以处理“+”字符:
@GetMapping(value = "/validate")
private void validateExpression(@RequestParam(value = "expression:.+") String expression) {
System.out.println(expression);
// code to validate the input string
}
我没有找到任何解决方案,但原因是因为 + 是 space 的 URL 转义符中的特殊字符。这就是为什么它将 + 替换为“”,即 space.
显然我必须从我的前端对其进行编码
在URL中编码特殊字符是明智的。 \
或 :
等字符。
对于 +
,格式或值是 %2
。您可以阅读有关 URL 编码 here 的更多信息。这实际上是首选方法,因为这些特殊字符有时会导致意外事件的发生,例如 /
或 =
,这可能意味着 URL.
中的其他内容
而且您不必担心在后端或服务器中手动解码它,因为在大多数情况下和框架中,它会自动解码。在您的情况下,我假设您使用的是 Spring Boot,因此您无需担心解码问题。
我创建了一个在其请求参数中接受字符串的端点
@GetMapping(value = "/validate")
private void validateExpression(@RequestParam(value = "expression") String expression) {
System.out.println(expression);
// code to validate the input string
}
邮递员发送请求时
https://localhost:8443/validate?expression=Y07607=Curr_month:Y07606/Curr_month:Y07608
// 可以说这是一个有效的输入 控制台显示为
Y07607=Curr_month:Y07606/Curr_month:Y07608 Valid
但是当我发送
https://localhost:8443/validate?expression=Y07607=Curr_month:Y07606+Curr_month:Y07608
//这也是一个有效的输入 控制台显示为
Y07607=Curr_month:Y07606 Curr_month:Y07608 Invalid
我不明白为什么不接受“+”作为参数。
"+" 消失直到到达 api!为什么?
我建议将此正则表达式添加到您的代码中以处理“+”字符:
@GetMapping(value = "/validate")
private void validateExpression(@RequestParam(value = "expression:.+") String expression) {
System.out.println(expression);
// code to validate the input string
}
我没有找到任何解决方案,但原因是因为 + 是 space 的 URL 转义符中的特殊字符。这就是为什么它将 + 替换为“”,即 space.
显然我必须从我的前端对其进行编码
在URL中编码特殊字符是明智的。 \
或 :
等字符。
对于 +
,格式或值是 %2
。您可以阅读有关 URL 编码 here 的更多信息。这实际上是首选方法,因为这些特殊字符有时会导致意外事件的发生,例如 /
或 =
,这可能意味着 URL.
而且您不必担心在后端或服务器中手动解码它,因为在大多数情况下和框架中,它会自动解码。在您的情况下,我假设您使用的是 Spring Boot,因此您无需担心解码问题。