公司动态
ABAP 里没有 @ResponseBody,但有一整套把业务结果写进 HTTP Body 的出口
Java Spring 里的@ResponseBody,解决的是一个很具体的问题,Controller 方法返回一个对象时,框架不要去找 View,也不要把它当成页面模型,而是把这个返回值序列化后直接写入 HTTP response body。Spring 官方文档对它的定义也很直接,@ResponseBody表示方法返回值应绑定到 Web 响应体,而且从 Spring 4.0 起也可以标在类级别,由所有方法继承。Spring WebFlux 文档还补了一层,返回值会通过HttpMessageWriter序列化到响应体,@RestController的效果就是组合了@Controller和@ResponseBody。(Home)回到 ABAP 这边,结论可以先落地,ABAP 没有一个和 Java Spring@ResponseBody一一对应的通用注解。更准确的说法是,ABAP 的不同 Web 技术栈,用不同的对象模型和运行时框架来完成同一件事,也就是把 ABAP 数据变成 HTTP Body。到了底层 ICF,是开发者显式调用 response 对象写出