update > code

master
lihengming 6 years ago
parent f55b561934
commit b9f4c2f98b
  1. 2
      README.md
  2. 8
      src/main/java/com/company/project/configurer/WebMvcConfigurer.java
  3. 8
      src/main/java/com/company/project/core/Result.java
  4. 2
      src/main/java/com/company/project/core/ResultGenerator.java

@ -13,7 +13,7 @@ Spring Boot API Project Seed 是一个基于Spring Boot & MyBatis的种子项目
- 使用Druid Spring Boot Starter 集成Druid数据库连接池与监控 - 使用Druid Spring Boot Starter 集成Druid数据库连接池与监控
- 使用FastJsonHttpMessageConverter,提高JSON序列化速度 - 使用FastJsonHttpMessageConverter,提高JSON序列化速度
- 集成MyBatis、通用Mapper插件、PageHelper分页插件,实现单表业务零SQL - 集成MyBatis、通用Mapper插件、PageHelper分页插件,实现单表业务零SQL
- 提供代码生成器根据表名生成对应的Model、Mapper、MapperXML、Service、ServiceImpl、Controller等基础代码,其中Controller模板默认提供POST和RESTful两套,根据需求在```CodeGenerator.genController(tableName)```方法中自己选择,默认使用POST模板。代码模板可根据实际项目的需求来扩展,由于每个公司业务都不太一样,所以只提供了一些比较基础、通用的模板,主要是提供一个思路来减少重复代码的编写,我在实际项目的使用中,其实根据公司业务的抽象编写了大量的模板。另外,使用模板也有助于保持团队代码风格的统一 - 提供代码生成器根据表名生成对应的Model、Mapper、MapperXML、Service、ServiceImpl、Controller等基础代码,其中Controller模板默认提供POST和RESTful两套,根据需求在```CodeGenerator.genController(tableName)```方法中自己选择,默认使用POST模板。代码模板可根据实际项目的需求来扩展,由于每个公司业务都不太一样,所以只提供了一些比较基础、通用的模板,**主要是提供一个思路**来减少重复代码的编写,我在实际项目的使用中,其实根据公司业务的抽象编写了大量的模板。另外,使用模板也有助于保持团队代码风格的统一
- 另有彩蛋,待你探索 - 另有彩蛋,待你探索
   
## 快速开始 ## 快速开始

@ -49,9 +49,11 @@ public class WebMvcConfigurer extends WebMvcConfigurerAdapter {
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
FastJsonConfig config = new FastJsonConfig(); FastJsonConfig config = new FastJsonConfig();
config.setSerializerFeatures(SerializerFeature.WriteMapNullValue,//保留空的字段 config.setSerializerFeatures(SerializerFeature.WriteMapNullValue);//保留空的字段
SerializerFeature.WriteNullStringAsEmpty,//String null -> "" //SerializerFeature.WriteNullStringAsEmpty,//String null -> ""
SerializerFeature.WriteNullNumberAsZero);//Number null -> 0 //SerializerFeature.WriteNullNumberAsZero//Number null -> 0
// 按需配置,更多参考FastJson文档哈
converter.setFastJsonConfig(config); converter.setFastJsonConfig(config);
converter.setDefaultCharset(Charset.forName("UTF-8")); converter.setDefaultCharset(Charset.forName("UTF-8"));
converters.add(converter); converters.add(converter);

@ -5,10 +5,10 @@ import com.alibaba.fastjson.JSON;
/** /**
* 统一API响应结果封装 * 统一API响应结果封装
*/ */
public class Result { public class Result<T> {
private int code; private int code;
private String message; private String message;
private Object data; private T data;
public Result setCode(ResultCode resultCode) { public Result setCode(ResultCode resultCode) {
this.code = resultCode.code(); this.code = resultCode.code();
@ -28,11 +28,11 @@ public class Result {
return this; return this;
} }
public Object getData() { public T getData() {
return data; return data;
} }
public Result setData(Object data) { public Result setData(T data) {
this.data = data; this.data = data;
return this; return this;
} }

@ -12,7 +12,7 @@ public class ResultGenerator {
.setMessage(DEFAULT_SUCCESS_MESSAGE); .setMessage(DEFAULT_SUCCESS_MESSAGE);
} }
public static Result genSuccessResult(Object data) { public static <T> Result<T> genSuccessResult(T data) {
return new Result() return new Result()
.setCode(ResultCode.SUCCESS) .setCode(ResultCode.SUCCESS)
.setMessage(DEFAULT_SUCCESS_MESSAGE) .setMessage(DEFAULT_SUCCESS_MESSAGE)

Loading…
Cancel
Save