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": "手机号码格式不正确"
}

results matching ""

    No results matching ""