<dependency>
<groupId>net.kaczmarzyk</groupId>
<artifactId>specification-arg-resolver</artifactId>
<version>2.1.1</version>
</dependency>
@RequestMapping(method = RequestMethod.GET, value = "/cf/{destUserId}")
@ResponseBody
public PagedResponse<SystemStock> croudFundReport(@PathVariable(name = "destUserId") String eventId,
@Conjunction (value = {
@Or(value = @Spec(path = "metaType", params = {"meta_type"}, spec = Equal.class))},
and = @Spec(path = "destUserId", pathVars = "destUserId", spec = Equal.class)) Specification<UserData> spec) {
return null;
}
方法2:没有@PathVariable
@RequestMapping(method = RequestMethod.GET, value = "/cf/{destUserId}")
@ResponseBody
public PagedResponse<SystemStock> croudFundReport(@Conjunction (value = {
@Or(value = @Spec(path = "metaType", params = {"meta_type"}, spec = Equal.class))},
and = @Spec(path = "destUserId", pathVars = "destUserId", spec = Equal.class)) Specification<UserData> spec) {
return null;
}
方法3:只使用path和@PathVariable的RequestMapping
@RequestMapping("/cf/{destUserId}")
@ResponseBody
public PagedResponse<SystemStock> croudFundReport(@PathVariable(name = "destUserId") String eventId,
@Conjunction (value = {
@Or(value = @Spec(path = "metaType", params = {"meta_type"}, spec = Equal.class))},
and = @Spec(path = "destUserId", pathVars = "destUserId", spec = Equal.class)) Specification<UserData> spec) {
return null;
}
方法4:RequestMapping只使用path而不使用@PathVariable
@RequestMapping("/cf/{destUserId}")
@ResponseBody
public PagedResponse<SystemStock> croudFundReport(@Conjunction (value = {
@Or(value = @Spec(path = "metaType", params = {"meta_type"}, spec = Equal.class))},
and = @Spec(path = "destUserId", pathVars = "destUserId", spec = Equal.class)) Specification<UserData> spec) {
return null;
}
@RequestMapping("/cf/{destUserId}")
@ResponseBody
public PagedResponse<SystemStock> croudFundReport(@Spec(path = "destUserId", pathVars = "destUserId", spec = Equal.class) Specification<UserData> spec) {
return null;
}
@GetMapping(path = "/cf/{destUserId}", produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public PagedResponse<SystemStock> croudFundReport(@Spec(path = "destUserId", pathVars = "destUserId", spec = Equal.class) Specification<UserData> spec) {
return null;
}
问题是,我们可以将pathvariable
作为方法参数来访问,但是当我们试图在pathvars
中指定它时,在上述情况下,执行并没有到达我们的控制器,我们得到了上述相同的异常。有人帮忙吗?
我注意到的一件事是,您只在上一个示例中使用了GetMapping。是否有理由使用RequestMapping?
是否有不使用[JPA分页][https://www.baeldung.com/jpa-pagination]的特殊原因?
你试过以下方法吗?
@GetMapping(path = "/cf/{destUserId}", produces = MediaType.APPLICATION_JSON_VALUE)
public PagedResponse<SystemStock> croudFundReport( @PathVariable(name = "destUserId") final String destUserId) {
// TODO implementation
}
你可以使用@RequestMapping注解来将请求URL,如/appointments等,映射到整个类上或某个特定的处理器方法上。一般来说,类级别的注解负责将一个特定(或符合某种模式)的请求路径映射到一个控制器上,同时通过方法级别的注解来细化映射,即根据特定的HTTP请求方法(“GET”“POST”方法等)、HTTP请求中是否携带特定参数等条件,将请求映射到匹配的方法上。 下面这段代码示例来自P
我知道有很多关于映射请求数据的问题,但这两个都帮不了我。所以,我试图实现的是一个映射到lambda的APIendpoint。当bucket触发404时,将转发到该endpoint的请求,并且参数通过请求路径传递给lambda,例如:/{image_name}/{width}/{height}。lambda的代码只调用 在集成请求中,我创建了三个映射模板:plain/text、plain/html、
(我更喜欢)或 只需使用调用,值应存储在该请求的某个位置。 我知道可能更简单,因为它已经击中了正确的,但我更喜欢。 我刚刚意识到,不能像预期的那样工作,因为Spring Security总是首先处理请求。不过我需要一个拦截器在Spring安全启动之前处理它。
问题内容: 我有一个非常简单的Spring WebSocket应用程序。但是,我正在尝试使用路径变量进行订阅以及消息映射。 我在下面发布了一个释义的示例。我希望注解会根据订阅者的身份返回给订阅者。即,to 应通知的订阅者,但我没有看到此行为。 值得注意的是,订阅文字作品。这是故意的吗?我是否缺少某些配置?还是这不是它的工作方式? 我对WebSockets或这个Spring项目还不太熟悉,所以在此先
index.html 发送样品
假设我有很多团队,比如:“团队A,团队B…团队Z”,每个团队至少有5个组件。现在我想创建一个通用控制器,它可以响应任何类型的请求,这样我就可以获得关于团队成员的信息。 例如,我的控制器必须能够映射此请求: 团队课程可以是: 而且 显然它既可以执行也可以执行,重点是我不想为每个团队和每个数字指定一个控制器,我只想要一个可以响应的控制器。 我还需要指定它可以接受的字符串和值的范围(例如,最大值为5)。