带REST的Java web服务体系结构
我正在设计一个Java web应用程序,该应用程序将部署到Wildfly或Tomcat(尚未决定) 基本上,它是关于离线java应用程序的,该应用程序需要一个REST接口来进行通信以接受JSON数据。其思想是应用程序一直运行,并处理存储在redis缓存中的请求,接收到的JSON数据存储在该缓存中 过去我在一个网站上使用了SpringMVC框架,但REST界面不需要MVC模式 有没有一种方法可以让我使用Spring框架或其他Java框架向现有的离线应用程序添加接收POST请求的功能?或者只编写与现有应用程序使用相同缓存的REST服务更好 为了说明我的问题,我附上了我正在寻找的架构的简化图:带REST的Java web服务体系结构,java,rest,integration,Java,Rest,Integration,我正在设计一个Java web应用程序,该应用程序将部署到Wildfly或Tomcat(尚未决定) 基本上,它是关于离线java应用程序的,该应用程序需要一个REST接口来进行通信以接受JSON数据。其思想是应用程序一直运行,并处理存储在redis缓存中的请求,接收到的JSON数据存储在该缓存中 过去我在一个网站上使用了SpringMVC框架,但REST界面不需要MVC模式 有没有一种方法可以让我使用Spring框架或其他Java框架向现有的离线应用程序添加接收POST请求的功能?或者只编写与现
我认为您应该使用任何轻型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请求的方法。这看起来很有趣。我来看看。