[英]Java web service architecture with REST
我正在设计一个Java Web应用程序,该应用程序将部署到Wildfly或Tomcat(尚未确定)。
基本上,它是关于需要一个REST接口进行通信(以接受JSON数据)的脱机java应用程序。 这个想法是应用程序始终运行,并处理存储在redis缓存(存储接收到的JSON数据)中的请求。
过去,我将Spring MVC框架用于网站,但我不需要REST接口的MVC模式。
有没有一种方法可以指向我使用Spring框架(或某些其他Java框架) 来向现有脱机应用程序添加接收POST请求的功能 ? 还是只编写将使用与现有应用程序相同的缓存的REST服务会更好?
为了说明我的问题,我附上我正在寻找的体系结构的简化图:
谈到收到 POST请求,您将自动引用HTTP服务器。
问题只是该服务器是作为服务运行还是按需运行。
有没有一种方法可以指向我使用Spring框架(或其他Java框架)来向现有脱机应用程序添加接收POST请求的功能?
并非没有引入某种HTTP容器,不。
还是只编写将使用与现有应用程序相同的缓存的REST服务会更好?
对,就是这样。 正如另一个提到的那样,我个人会坚持使用Spring MVC。 但是Jersey对于您的用例也应该非常适合您。
我认为您应该使用任何轻型ESB,例如Camel,Mule或Spring Integration。 如果您已经使用过Spring,那么后者可能对您来说最简单。
这种应用程序的目的是简化与任何事物进行通信的任务(在这种情况下,是与您的离线应用程序进行HTTP终结点通信)。
看看这个:
您可以为此使用Spring MVC。
M odel是您的域类,在这种情况下, V iew是JSON,而C ontroller照常处理请求以执行逻辑操作。
您还可以利用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);
}
}
Andres,ESala和kervin的回答为我指明了正确的方向,但我发现最合适的解决方案是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.