SpringMVC应用和RESTful应用的区别

    技术2025-05-01  14

    SpringMVC应用的控制器需要依赖表现层(view)技术,在服务端把数据渲染成html后返回给浏览器,而RESTful应用的控制器直接返回一个对象,这个对象会被spring转成json格式写到http响应中。 以下是一个简单的RESTful控制器:

    @RestController public class GreetingController { private static final String template = "Hello, %s!"; private final AtomicLong counter = new AtomicLong(); @GetMapping("/greeting") public Greeting greeting(@RequestParam(value = "name", defaultValue = "World") String name) { return new Greeting(counter.incrementAndGet(), String.format(template, name)); } }

    可以看到该控制器直接return一个对象。

    RESTful应用一般用在前后端分离的项目,RESTful应用返回的json数据可以被前端项目(如nodejs)渲染成html后再返回给浏览器。SpringMVC一般用在前后端不分离的项目,因为View层已经完成了HTML的渲染。

    参考文献:https://spring.io/guides/gs/rest-service/

    Processed: 0.010, SQL: 9