1.《锋迷商城》业务流程设计-接?规范
在企业项?开发中,当完成项?的需求分析、功能分析、数据库分析与设计之后, 项?组就会按照项?中的功能进?开发任务的分配
1.1 前后端分离与单体架构流程实现的区别
单体架构:??和控制之间可以进?跳转,同步请求控制器,流程控制由控制器来完成 前后端分离架构:前端和后端分离开发和部署,前端只能通过异步向后端发送请求, 后端只负责接收请求及参数、处理请求、返回处理结果,但是后端并不负责流程控制, 流程控制是由前端完成1.1.1单体架构
1.1.2 前后端分离架构
1.2 接口介绍
1.2.1接口概念狭义的理解:就是控制器中可以接受?户请求的某个?法 应?程序编程接?,简称API,就是软件系统不同组成部分衔接的约定1.2.2接口规范
参考:《锋迷商城》后端接?说明
1.3 Swagger
前后端分离开发,后端需要编写接?说明?档,会耗费?较多的时间 swagger是?个?于?成服务器接?的规范性?档、并且能够对接?进?测试的?具1.3.1作用
?成接?说明?档对接?进?测试
1.3.2 Swagger整合在api??程添加依赖(Swagger2 \ Swagger UI)
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>
在api??程创建swagger的配置(Java配置?式)
@Configuration @EnableSwagger2 public class SwaggerConfig { /*swagger会帮助我们?成接??档 * 1:配置?成的?档信息 * 2: 配置?成规则*/ /*Docket封装接??档信息*/ @Bean public Docket getDocket(){ //创建封?信息对象 ApiInfoBuilder apiInfoBuilder = new ApiInfoBuilder(); apiInfoBuilder.title("《锋迷商城》后端接?说明") .description("此?档详细说明了锋迷商城项?后端接?规范....") .version("v 2.0.1") .contact( new Contact("亮哥","HdhCmsTestliangge测试数据","liangge@wang测试数据") ); ApiInfo apiInfo = apiInfoBuilder.build(); Docket docket = new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo) //指定?成的?档中的封?信息:?档标题、版本、作者 .select() .apis(RequestHandlerSelectors.basePackage("com.qfedu.fmmall.controller")) .paths(PathSelectors.any()) .build(); return docket; } }
测试:
启动SpringBoot应?,访问:http://localhost:8080/swagger-ui.html
1.swagger提供了?套注解,可以对每个接?进?详细说明
2 . @Api 类注解,在控制器类添加此注解,可以对控制器类进?功能说明
@Api(value = "提供商品添加、修改、删除及查询的相关接?",tags = "商品管理")
3 . @ApiOperation ?法注解:说明接??法的作?
4 . @ApiImplicitParams 和 @ApiImplicitParam ?法注解,说名接??法的参数
5 . @ApiModel 和 @ApiModelProperty 当接?参数和返回值为对象类型时,在实体类中添加注解说明
6 . @ApiIgnore 接??法注解,添加此注解的?法将不会?成到接??档中
1.3.4 Swagger-ui 插件导入插件依赖
<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.9.6</version> </dependency>
1.4 RESTful
1.前后端分离开发的项?中,前后端之间是接?进?请求和响应,后端向前端提供请求时就要对外暴露?个URL;URL的设计不能是随意的,需要遵从?定的设计规范――RESTful
RESTful 是?种Web api的标准,也就是?种url设计?格/规范 每个URL请求路径代表服务器上的唯?资源 传统的URL设计: http://localhost:8080/goods/delete?goodsId=1 商品1 http://localhost:8080/goods/delete?goodsId=2 商品2 RESTful设计: http://localhost:8080/goods/delete/1 商品1 http://localhost:8080/goods/delete/2 商品2 @RequestMapping("/delete/{gid}") public ResultVO deleteGoods(@PathVariable("gid") int goodsId){ System.out.println("-----"+goodsId); return new ResultVO(10000,"delete success",null); }
2.使?不同的请求?式表示不同的操作
SpringMVC对RESTful?格提供了很好的?持,在我们定义?个接?的URL时,可以通 过@RequestMapping(value="/{id}",method=RequestMethod.GET) 形式指定请求 ?式,也可使?特定请求?式的注解设定URL @PostMapping("/add") @DeleteMapping("/{id}") @PutMapping("/{id}") @GetMapping("/{id}") post 添加. get 查询. put 修改. delete 删除. option (预检).
3.接?响应的资源的表现形式采?JSON(或者XML)
4.在控制类或者每个接??法添加 @ResponseBody 注解将返回的对象格式为json
5.或者直接在控制器类使? @RestController 注解声明控制器
6.前端(Android\ios\pc)通过?状态的HTTP协议与后端接?进?交互
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!
原文链接:https://blog.csdn.net/suncunwei201503517/article/details/120137680
查看更多关于Java SpringBoot+vue+实战项目详解的详细内容...