gpt4 book ai didi

java - 当路径中的第一个缺失时,多个 PathParams 不会失败

转载 作者:行者123 更新时间:2023-12-02 01:55:37 25 4
gpt4 key购买 nike

我有一个需要两个强制路径参数的路径。当包含第二个参数但排除第一个参数时,我的服务会遇到 404 错误,因为 URI 无效。

@GET
@Path("service/{param1}/{param2}")
public Response getSuppliersBySupplierCode(@PathParam("param1") String param1, @PathParam("param2") String param2) {

//do something
}

我预计在以下 3 种情况下都会出现 404,但后两种情况有效。

..../service// -> 失败并显示 404

..../service/param/ -> 点击我的服务

..../service//param2 -> 点击我的服务

为什么我在场景 2 和 3 中没有得到 404?我希望它会失败,因为我的两个参数之一丢失了

最佳答案

第二个和第三个场景起作用的原因是默认情况下路径变量与 [^/]+? 匹配,这意味着它们将匹配空字符串。您可以通过添加冒号然后添加正则表达式来更改执行匹配的正则表达式,例如 {param1: [a-zA-Z][a-zA-Z_0-9]}。请参阅this article了解更多详情。

关于java - 当路径中的第一个缺失时,多个 PathParams 不会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57399691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com