E、序列化输出(Json 等)
Solon Web 里,本身并没有序列化的概念,只有“渲染”的概念。包括后端视图模板也是“渲染”。序列化,更适合平常的概念。
1、目前适配的主要插件有
插件 | 适配框架 | 备注 |
---|---|---|
Json:: | ||
solon-serialization-snack3 | snack3 | solon-api 快捷组合包里,引用了此包 |
solon-serialization-fastjson | fastjson | |
solon-serialization-fastjson2 | fastjson2 | |
solon-serialization-jackson | jackson | |
solon-serialization-gson | gson | |
Hessian:: | ||
solon-serialization-hessian | hessian | |
protostuf:: | ||
solon-serialization-protostuff | protostuff |
2、序列化输出示例
- Json 是默认的渲染格式
@Controller
public class DemoController{
@Mapping("/test3/")
public UseModel test3(@Param(defaultValue="world") String name){ //接收请求name参数
//当返回是实体,默认会进行 json 序列化
return new UseModel(2, name);
}
}
- 指定特殊的渲染格式
由客户端通过 "X-Serialization" 头信息指定,一般是在RPC场景下使用
HttpUtils.http("http://localhpst:8080/user/getUser")
.param("userId",1)
.header("X-Serialization", "@protobuf")
.post();