控制器(Controller)规范
控制器(Controller)规范
- 控制器注解引入
- @RestController:标注类为Restful规范的控制器。
- @RequestMapping:请求路径,需遵守Restful规范。
- RequiredArgsConstructor(onConstructor = @__(@Autowired)):
- 设定请求方式
- 查询方法:@GetMapping
- 添加:@PostMapping
- 修改:@PutMapping
- 删除:@DeleteMapping
- 不允许使用:
- @RequestMapping(method =XXX),例如:@RequestMapping(value = "/token", method = RequestMethod.GET)
- 入参设计
- 入参需以lowerCamelCase风格命名。
- 设定请求参数方式
- 表单提交:直接使用VO类或具体参数名接收。
- @PathVariable:路径变量。
- @RequestParam:参数请求。
- 校验请求参数
- 非空:@NotNull(message = "XXX")。
- 使用注解@Validated,使得参数自动校验生效,它是spring-contex中的注解。
- 对象可在变量上进行定义。
- 方法返回
- 查询、修改、添加返回:操作后的对象。
- 其他业务操作返回:操作状态。
- 返回对象:ResultUtil.data(返回对象);
- 操作成功: ResultUtil.success("返回内容");
- 操作失败:ResultUtil.error("返回内容");
- 自动生成接口文档
- 使用SwaggerAPI。
- @Api():添加在类名之上,标注控制器实现内容。
- @ApiOperation(value = "XX"):添加方法名上,标注方法实现内容。
- @ApiImplicitParams、@ApiImplicitParam:添加方法名上,标注参数内容。
Controller示例代码:
/*** 买家端,会员API** @author Chopper* @version v4.1* @Date: 2020/11/16 10:07 下午* @Description:* @since*/
@RestController
@Api(tags = "买家端,会员API")
@RequestMapping("/buyer/members")
@Transactional(rollbackFor = Exception.class)
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class MemberBuyerController {/*** 会员*/private final MemberService memberService;/*** 会员token生成*/private final MemberTokenGenerate memberTokenGenerate;@ApiOperation(value = "登录接口")@SystemLog(description = "登录", type = LogType.LOGIN)@ApiImplicitParams({@ApiImplicitParam(name = "username", value = "用户名", required = true, paramType = "query"),@ApiImplicitParam(name = "password", value = "密码", required = true, paramType = "query")})@PostMapping(value = "/login")public Result<Object> smsLogin(@NotNull(message = "用户名不能为空") @RequestParam String username,@NotNull(message = "密码不能为空") @RequestParam String password) {Member member = this.memberService.usernameLogin(username, password);if (member == null) {throw new ServiceException(MessageCode.E21004.getValue());}Token token = memberTokenGenerate.createToken(member.getUsername(), false);return ResultUtil.data(token);}
}
控制器(Controller)规范相关推荐
- ASP.NET MVC 5 入门教程 (2) 控制器Controller
原文:ASP.NET MVC 5 入门教程 (2) 控制器Controller 文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get ...
- kafka专题:kafka的总控制器Controller、消费者重分配策略等核心设计原理详解
文章目录 1. Kafka核心总控制器Controller 1.1 核心总控制器Controller的Leader选举 1.2 Partition副本选举Leader机制 2. 消费者消费偏移量off ...
- 【SpringMVC 笔记】控制器 Controller 与 RestFul 风格
SpringMVC 笔记 控制器 Controller 实现 Controller 接口 创建控制器 @Controller 注解创建控制器 @RequestMapping 使用 method 属性指 ...
- ASP.NET/C# 控制器Controller的深入理解
ASP.NET/C# 控制器Controller的深入理解 1.理解控制器 1.1控制器的角色 (1)中转作用:控制器通过前面的学习大家应该知道它是一个承上启下的作用,根据用户输入,执行响应行为(动作 ...
- Controller规范,摘自晓风轻专栏
先说说Controller规范,主要的内容是就是接口定义里面的内容,你只要遵循里面的规范,controller就问题不大,除了这些,还有另外的几点: 1 所有函数返回统一的ResultBean/Pag ...
- yii2 ajax访问控制器,yii2控制器Controller Ajax操作示例
本文实例讲述了yii2控制器Controller Ajax操作的方法.分享给大家供大家参考,具体如下: request->isAjax) { $data = Yii::$app->requ ...
- 控制器Controller的使用
Java知识点总结:想看的可以从这里进入 目录 3.3.控制器Controller 3.3.1.接收参数 1.普通参数 2.URL参数 3.JSON参数 3.3.2.共享数据 3.3.3.转发和重定向 ...
- 控制器Controller(保姆级教程)
控制器Controller(保姆级教程) 实现Controller接口 使用注解@Controller(声明Spring类的实例是一个控制器) 控制器复杂提供访问应用程序的行为 通常通过 接口定义和 ...
- 后端——egg.js是什么、egg.js安装、约定规则、路由Router、控制器Controller、跨域
目录 一.egg.js是什么 二.egg安装 三.约定规则 四.路由Router 五.控制器Controller 六.跨域 1.egg-cors 1.下载 2.开启插件 3.配置插件 4.使用: 2. ...
- Controller规范和接口定义,添加一条新数据并返回此数据的ID(主键)
参考文章: 烂代码之:Controller规范和接口定义 添加一条新数据并返回此数据的ID(主键) 删除数据返回boolean 添加数据后返回Id <insert id="" ...
最新文章
- Java IO 流 学习 总结
- Windows Forms高级界面组件-使用状态栏控件
- C语言入门经典——基础知识(数据类型)(32位与64位系统基本数据类型的字节数)
- what to improve on my case study?
- 【BZOJ1031】[JSOI2007]字符加密Cipher 后缀数组
- 【收藏】mydockfinder下载地址
- YAML简介和简单说明
- python定时任务crontab_【Python】Linux crontab定时任务配置方法(详解)
- 10天学安卓-第二天
- mysql 主从 通俗易懂_MySQL 主从同步架构中你不知道的“坑”(完结篇)
- 关于this和base
- 训练千亿参数模型的法宝,昇腾CANN异构计算架构来了~
- Java 实现导出excel表 POI
- C++:stack.pop() error: cannot initialize a variable of type ‘char‘ with an rvalue of type ‘void‘
- STM32嵌入式基础开发04-PS2手柄SPI通讯数据输出(4_SPI)
- 通过终端命令查看到目的IP所经过的路由
- Android存储管理
- 基于QPSK+LDPC的微波信道误码率matlab仿真
- 循环结构(计算0到100之间的奇数和偶数的和)
- testcenter自动化
热门文章
- python 提取出字符串括号中的内容,正则表达式
- 探索 Java 中的 Date, Calendar, TimeZone 和Timestamp
- HP G32笔记本 拆机图解
- 疫苗预约系统,疫苗接种管理系统,疫苗预约管理系统毕设作品
- WannaCry弱爆了!韩国IDC被Erebus软件勒索683万
- 理财产品信息管理系统项目代码分享
- 多态中对象的上下转型
- Tableau 快速表计算 显示百分比 / 累计走势
- 【故障处理】队列等待之enq: TX - row lock contention
- linux内核中内存耗尽OOM killer