使用STOMP调用服务,该服务接受多个参数

时间:2016-03-19 01:13:41

标签: javascript java spring spring-boot stomp

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

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

1 个答案:

答案 0 :(得分:1)

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

相当于@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) {