SpringMVC应用和RESTful应用的区别

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/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章