千万要小心啊, 同学们啊, curl 引发了很多的奇怪问题啊
curl 竟然需要 把url 用单引号括起来? .. 否则就无法传递query参数.. 中文也是。
真是把人搞晕了, 还以为是 @GetMapping 哪里的问题, 又以为是 参数前面不能添加 @Validated ..
我的请求脚本是:
curl -v http://localhost:9080/v2/paypalChargeCallback?token=7V603167LV687545X&returnUrl=www.qq.com&random=12
@GetMapping("/paypalChargeCallback")
public String paypalChargeCallback(@Validated PaypalChargeCallbackReqDTO reqDTO, @RequestHeader(value = "referer", required = false) String referer) { ...}
其中:
@Data
public class PaypalChargeCallbackReqDTO {
@ApiModelProperty(value = "paypal订单号", required = true)
private String token;
//资金账户
// @ApiModelProperty(value = "资金账户", required = true)
// @NotBlank(message = MsgCdConstant.ACCOUNT_NOT_BLANK)
// private String account;
@ApiModelProperty(value = "用户paypalId")
private String PayerID;
@ApiModelProperty(value = "前端跳转地址")
private String returnUrl;
@ApiModelProperty(value = "随机的交易验证码")
private String random;
}
发现只能传递一个参数, 那就是 token, 其他参数都是null, 为什么呢?
难道是不能通过对象来接收? 为什么服务器中可以, 测试没有问题, 本机就不行了呢?
其实也不是本机不行, 而是 通过 curl 不行, 最本质的原因是 需要 把url 用单引号括起来!
why?
因为 & 在 git bash 中被解析了吧, 从而失去了字面含义 !!
难道?
需要 -X GET ? 不需要, 因为默认就是GET
注意curl的-X参数不能小写, 否则:
Could not resolve proxy: GET
* Closing connection 0
curl: (5) Could not resolve proxy: GET
因为x参数表示代理: -x, --proxy [protocol://]host[:port] Use this proxy
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2022-07-15 错误处理: oauth2 client访问oauth2 server 的user info 端点, 返回401 invalid_user_info_response