2016-02-11 24 views
0

我有这个职业DemoController。在这个类中,我想随REST请求一起发送消息。如何将消息与RESTful请求一起传递?

我该如何发送?假设M发送http://localhost:8080/sendmessage...

如何随此请求一起发送消息?

@RestController 
@EnableAutoConfiguration 
public class DemoController { 

    @Autowired 
    DemoPublisher demopublisher; 

    @Autowired 
    DemoConsumer democonsumer; 

    @RequestMapping(value="/sendmessage", method= {RequestMethod.POST}) 
    @ResponseBody 
    public String messageSenderController(@RequestParam String message, Model model){ 
     try { 
      demopublisher.demoPublishMessage(message); 
     } catch (JMSException e) { 
      e.printStackTrace(); 
     } 
     return message; 
    } 
} 
+0

您可以使用QueryParam,PathVariable或RequestBody将数据传递到其余控制器。你希望这个消息成为url的一部分吗? –

+0

是在我想要的网址 –

+0

因为我使用Spring启动应用程序,所以这是我的主要类从这里我如何发送消息到控制器与休息请求。 public static void main(String [] args){ \t \t SpringApplication.run(MessagingApplication.class,args); \t} –

回答

0

QueryParam

网址:/?的sendMessage味精=的HelloWorld!

@RequestMapping(value="/sendmessage",method= {RequestMethod.POST}) 
@ResponseBody 
public String messageSenderController(@QueryParam("msg") String message,Model model){ 
} 

UrlParam

网址:/的sendMessage /的HelloWorld!

@RequestMapping(value="/sendmessage/{message}",method= {RequestMethod.POST}) 
@ResponseBody 
public String messageSenderController(@PathVariable String message,Model model){ 
} 

当您将数据发布到服务器时,您也可以在正文参数中发送数据。我建议你在有表单或其他想要发送到服务器的数据时使用它。


RequestBody

网址:/的sendMessage

体(RAW在邮递员或其他其余客户端,接受需要是application/XML):

{ 
    "my message" 
} 

控制器

@RequestMapping(value="/sendmessage",method= {RequestMethod.POST}) 
@ResponseBody 
public String messageSenderController(@RequestBody String message,Model model){ 
} 
+0

看到这条消息现在要邮递员如果我正在对邮递员控制台进行更改,我想手动编辑该邮件,但它又显示了以前的消息,但我想更新一个。我们怎么能这样做 –

+0

确保邮递员不要缓存最后一个网址。有点难以帮助没有更多的信息 –

+0

我发送消息在URL本地主机// 8080/sendmessage /欢迎这个欢迎邮局现在邮递员我们有一个选项RAW,我可以手动编辑它,所以我想这个新的信息存储进入activeMQ。但它是采取我们发送的一个网址 –

相关问题