Javashop注解使用说明
一、@RegionFormat(地区格式化)
被@RegionFormat注解的属性,会接受一个地区id转换为地区对象。
1、示例
@RegionFormat
private Region region;
上述注解假设如下请求:
xxx?region=3
则会将id为1的地区及其父的信息读取并形成Region对象
例如region=3的地区为长安街,父辈为为东城区-->北京,刚形成的Region对象数据如下:
{
"cityId": 2,
"townId": 0,
"countyId": 3,
"provinceId": 1,
"province": "长安街",
"county": "东城区",
"city": "北京市",
"town": ""
}
如果传递的是townid,则会自动填充county、city及province
如果传递的是countyid,则会自动填充city及province,此时 townid 为0
也可以在控制器中直接当做入参对象使用,示例如下
public Member perfectInfo(@RegionFormat Region region) {
}
2、同一入参对象,多个地区示例:
public Member perfectInfo(@RegionFormat Region region,@RegionFormat @RequestParam(value = "shop_region") Region shopRegion) {
}
不能在入参对象传递多个Region对象
3、参数名及swagger说明
被@RegionFormat注解的属性入参名称遵循javashop统一的蛇形规范,swagger使用方面,他相关于一个Integer参数,也可以通过@ApiModelProperty 来注解
@ApiModelProperty(name = "region", value = "地区id")
private Region region;
@Mobile (手机格式校验)
使用@Mobile注解可以校验手机号码的正确性。
使用:在声明的对象手机号码属性上面加@Mobile
@Mobile
private String mobile;
如果校验失败会抛出如下异常:
{
"code": "004",
"message": "手机号码格式不正确"
}