Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带REST的Java web服务体系结构_Java_Rest_Integration - Fatal编程技术网

带REST的Java web服务体系结构

带REST的Java web服务体系结构,java,rest,integration,Java,Rest,Integration,我正在设计一个Java web应用程序,该应用程序将部署到Wildfly或Tomcat(尚未决定) 基本上,它是关于离线java应用程序的,该应用程序需要一个REST接口来进行通信以接受JSON数据。其思想是应用程序一直运行,并处理存储在redis缓存中的请求,接收到的JSON数据存储在该缓存中 过去我在一个网站上使用了SpringMVC框架,但REST界面不需要MVC模式 有没有一种方法可以让我使用Spring框架或其他Java框架向现有的离线应用程序添加接收POST请求的功能?或者只编写与现

我正在设计一个Java web应用程序,该应用程序将部署到Wildfly或Tomcat(尚未决定)

基本上,它是关于离线java应用程序的,该应用程序需要一个REST接口来进行通信以接受JSON数据。其思想是应用程序一直运行,并处理存储在redis缓存中的请求,接收到的JSON数据存储在该缓存中

过去我在一个网站上使用了SpringMVC框架,但REST界面不需要MVC模式

有没有一种方法可以让我使用Spring框架或其他Java框架向现有的离线应用程序添加接收POST请求的功能?或者只编写与现有应用程序使用相同缓存的REST服务更好

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


我认为您应该使用任何轻型ESB,比如Camel、Mule或Spring集成。如果您已经使用过Spring,那么后者可能对您来说是最简单的

这类应用程序的目的是为了方便与本例中的任何内容(HTTP端点与脱机应用程序)进行通信

看看这个:


您可以使用SpringMVC来实现这一点

模型是您的域类,视图在本例中是JSON,控制器处理请求以执行逻辑操作,一切照旧

您还可以利用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);
    }

}
一旦您谈到接收POST请求,您就会自动引用HTTP服务器

问题在于该服务器是作为服务运行,还是按需运行

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

不,除非引入某种HTTP容器

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


是的,没错。正如另一位提到的,我个人坚持使用SpringMVC。但泽西也应该很适合您的用例。

安德烈斯、埃萨拉和凯文的回答为我指明了正确的方向,但我发现最合适的解决方案是:

使用SpringMVC和Java实现REST服务 将主进程从现有应用程序转换为Spring计划任务。
好的,请稍候,您需要一种将数据传送到脱机网络的方法。这就是我所理解的。@Weareberg:差不多吧。我需要一种在应用程序中接收POST请求的方法。这看起来很有趣。我来看看。