拥有一项使用 STOMP 调用的服务,该服务接受多个参数

Having a service called with STOMP which accepts more than one parameter

我正在尝试 Spring's STOMP+WebSocket implementation,我想知道是否可以调用一个接受多个参数的服务(在服务器上)?

我知道我可以将多个参数封装到一个 class 中,然后定义一个服务接收那个 class 的一个对象。但这不是我要找的。我希望能够同时通过 REST 和 STOMP 调用一项服务。由于 REST 服务都是关于多参数方法,我想知道如何通过 STOMP 调用它们!?

@RequestParam 用于查询参数,当客户端向服务器发送数据而不是查询时,它们没有多大意义。 REST 和 STOMP 都允许您使用 headers 获取元信息。

@PathVariable等价于@DestinationVariable,用法相同。

@RequestBody 的等价物是 @Payload,但是 Spring 假定没有注释的方法参数是有效载荷,因此实际上并不需要它。

示例:

@RequestMapping("/foo/bar/{id}")
@ResponseBody
@MessageMapping("/foo/bar/{id}")
@SendTo("/baz")
public Answer method(
    @PathVariable @DestinationVariable int id,
    @RequestBody Message message,
    @RequestHeader("foo") @Header("foo") String foo) {