疯狂的狮子li
2022-07-07 d9e54388e7fde2462e8b7e0165c5e7da3f202593
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestI18nController.java
@@ -1,12 +1,18 @@
package com.ruoyi.demo.controller;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.utils.MessageUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
@@ -14,20 +20,53 @@
 *
 * @author Lion Li
 */
@Api(value = "测试国际化控制器", tags = {"测试国际化管理"})
@Validated
@Tag(name ="测试国际化控制器", description = "测试国际化管理")
@RestController
@RequestMapping("/demo/i18n")
public class TestI18nController {
   /**
    * 通过code获取国际化内容
    * code为 messages.properties 中的 key
    *
    * 测试使用 user.register.success
    */
   @ApiOperation("通过code获取国际化内容")
   @GetMapping()
   public AjaxResult<Void> get(String code) {
      return AjaxResult.success(MessageUtils.message(code));
   }
    /**
     * 通过code获取国际化内容
     * code为 messages.properties 中的 key
     * <p>
     * 测试使用 user.register.success
     */
    @GetMapping()
    public R<Void> get(@Parameter(name = "国际化code") String code) {
        return R.ok(MessageUtils.message(code));
    }
    /**
     * Validator 校验国际化
     * 不传值 分别查看异常返回
     * <p>
     * 测试使用 not.null
     */
    @GetMapping("/test1")
    public R<Void> test1(@NotBlank(message = "{not.null}") String str) {
        return R.ok(str);
    }
    /**
     * Bean 校验国际化
     * 不传值 分别查看异常返回
     * <p>
     * 测试使用 not.null
     */
    @GetMapping("/test2")
    public R<TestI18nBo> test2(@Validated TestI18nBo bo) {
        return R.ok(bo);
    }
    @Data
    public static class TestI18nBo {
        @NotBlank(message = "{not.null}")
        private String name;
        @NotNull(message = "{not.null}")
        @Range(min = 0, max = 100, message = "{length.not.valid}")
        private Integer age;
    }
}