@ApiImplicitParams
用在请求的方法上,表示一组参数说明
@ApiImplicitParam
用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
name:参数名
value:参数的汉字说明、解释
dataType:参数类型,默认String,其它值dataType="Integer"
required:参数是否必须传
paramType:参数放在哪个地方
defaultValue:参数的默认值
@Valid
用于验证注解是否符合要求,直接加在变量user之前,在变量中添加验证信息的要求,当不符合要求时就会在方法中返回message 的错误提示信息。
@ApiOperation
@ApiOperation不是spring自带的注解,是swagger里的, 用来构建Api文档;
@ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response =
“接口返回参数类型”, notes = “接口发布说明”;
@PostMapping
@PostMapping是一个复合注解,Spring framework4.3引入了@RequestMapping注释的变体,更好地表示带注释的方法的语义,作为@RequestMapping(method=RequestMethod.POST)的快捷方式。也就是可以简化成@PostMapping(value="/abc" )即可,主要是方便识记。
@RequestMapping
是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
value:指定请求的实际地址,指定的地址可以是URI Template 模式;
method: 指定请求的method类型, GET、POST、PUT、DELETE等;
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。
@Api()
用于类;表示标识这个类是swagger的资源
@ApiModel
在实体类上使用,标记该类是swagger的解析类
@ApiModelProperty()
一般用于方法、字段; 表示对model属性的说明或者数据操作更改
value–字段说明 name–重写属性名字 dataType–重写属性类型
required–是否必填 example–举例说明 hidden–隐藏
@RequestBody
用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容(json数据)转换为java对象并绑定到Controller方法的参数上
@Component
是一个元注解,意思是可以注解其他类注解。官方的原话是:带此注解的类看为组件,当使用基于注解的配置和类路径扫描的时候,这些类就会被实例化。其他类级别的注解也可以被认定为是一种特殊类型的组件.
@Slf4j
由于自己开启日志需要写上:
private final Logger logger = LoggerFactory.getLogger(XXX.class);
为了方便起见就可以使用注解@Slf4j来直接使用log对象,
在使用中需要引入jar包import lombok.extern.slf4j.Slf4j;
@Valid
用于验证注解是否符合要求,直接加在变量之前,在变量中添加验证信息的要求,当不符合要求时就会在方法中返回message 的错误提示信息。
public ResultObject update(@Valid EmlHeadDcrParam param) {
return emlHeadDcrService.update(param, userInfo);
}
@JsonProperty
spring默认使用的是jackson处理json的序列化和反序列化,@JsonProperty是Jackson的注解,常用于属性上。
@JsonProperty(value = “dpt_id”, required = true)
private String scheduleId;
value属性:代表该属性序列化和反序列化的时候的key值。
required属性:默认false,例如当required=false的时候,当反序列化的时候没有找到key值,就会报错。
@Transactional
1、不要再类级别上加事务,否则所有方法都有事务,要在方法上加事务,如果类中绝大多数方法都需要加事务,那请在不需要加事务的方法上面禁止事务
2、加事务的方法必须是public
3、只有外部直接调用的方法上加事务,才会有效果
@Setter @Getter
可以为相应的属性自动生成Getter/Setter方法 , 在编译生成的字节码文件中就会存在setter/getter等方法 ,即使字段修改也不影响,大大减少代码量;