2015-10-19 55 views
2

我正在设计将部署到Wildfly或Tomcat(尚未决定)的Java Web应用程序。使用REST的Java Web服务体系结构

基本上它是关于需要REST接口进行通信(接受JSON数据)的脱机java应用程序。这个想法是,应用程序始终运行并处理存储在redis缓存(存储收到的JSON数据的位置)中的请求。

我在过去的网站中使用了Spring MVC框架,但是我不需要REST接口的MVC模式。

有没有一种方法可以让我指出使用Spring框架(或其他一些Java框架)来添加接收POST请求的能力到现有的离线应用程序?或者只写一个REST服务会比现有的应用程序使用相同的缓存更好?

为了说明我的问题我附上我找架构的简化图:

Existing application and the extension

+0

好吧,等一下,你需要一种方式将数据传递到离线网络。这就是我所理解的。 –

+0

@WeareBorg:类似的东西。我需要一种方法来在应用程序中接收POST请求。 –

回答

0

答案向我指出了正确的方向,但该解决方案,我发现最合适的是:

  • 执行使用Spring MVC的和主要过程的
  • 改造REST服务从现有的应用程序到春季计划任务
1

我认为你应该使用任何光线ESB,像骆驼,骡或Spring集成。如果你已经和Spring合作过,后者对你来说可能是最简单的。

这种类型的应用程序的目的是为了方便与任何东西(在这种情况下,与您的离线应用程序的HTTP端点)进行通信的任务。

看看这个:

https://www.google.ie/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=spring%20integration%20http-inbound

+0

看起来很有趣。我会看看。 –

1

你可以使用Spring MVC为。

中号奥德尔是您的域名班,V IEW是JSON在这种情况下,与Ç ontrollers处理请求执行逻辑运算,照常营业。

您也可以利用Spring的@RestController注解来快速创建端点,就像这个Java示例:

@RestController 
public class MovieController { 

    @Autowired 
    private MovieRepository movieRepository; 

    @RequestMapping(value = "/movies/{search}", method = RequestMethod.GET) 
    public List<Movie> findMovies(@PathVariable String search) { 
     return movieRepository.findByName(search); 
    } 

    @RequestMapping(value = "/movies", method = RequestMethod.POST) 
    public void postMovie(@RequestBody Movie movie) { 
     movieRepository.save(movie); 
    } 

} 
2

只要你说话接收 POST请求,你会被自动指一个HTTP服务器。

问题只是该服务器是作为服务运行还是按需运行。

有没有一种方法可以让我使用Spring框架(或其他一些Java框架)来添加接收POST请求到现有的离线应用程序的功能?

不是没有引入某种HTTP容器,没有。

或者只是编写将使用与现有应用程序相同的缓存的REST服务会更好?

是的,正好。另外提到,个人而言,我会坚持使用Spring MVC。但泽西岛对你的用例也应该很好。

从安德烈斯,埃萨拉和kervin