我正在尝试Spring's STOMP+WebSocket implementation,我想知道是否可以调用一个服务(在服务器上),它接受多个参数?
我知道我可以将一些参数封装到一个类中,然后定义一个接受该类对象的服务。但这不是我想要的。我希望能够同时通过REST和STOMP调用一个服务。由于REST服务都涉及多个参数方法,我想知道如何通过STOMP调用它们??
答案 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) {