02_开发环境搭建

前言:

需要资料+源码评论区留言

1 服务端搭建

1.1 数据库环境

本项目使用MySQL数据存储数据。
1 )安装MySQL数据库(v5.6.5+)
端口号默认使用 3306 ,请自行安装并启动MySQL数据库
2 )执行下列SQL脚本导入数据
执行wanxinp2p-init.sql 创建P2P平台数据库并导入初始数据执行wanxindepository-init.sql 创建银行存管系统数据库并导入初始数据
数据库清单如下:
在这里插入图片描述

1.2 微服务基础工程

1.2.1 开发工具配置

服务端工程使用Intellij IDEA开发(请使用 2018 以上的版本)。
1 、直接用IDEA打开提供的基础工程wanxinp2p。
2 、配置maven环境
3 、配置编码utf-8
在这里插入图片描述

4 、代码提示忽略大小写
IDEA默认的代码提示是区分大小写的,这里设置为忽略大小写,编码更方便
在这里插入图片描述

5 、配置JDK1.8
先在本机安装JDK1.8,并设置好环境变量(JAVA_HOME),然后在IDEA中配置JDK1.8
在这里插入图片描述

6 、自动导入包:
idea可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置
在这里插入图片描述

1.2.2 了解基础工程

1 )直接用IDEA打开课件提供的基础工程wanxinp2p(在day01课件的代码文件夹中),打开后的基础工程结构如下图所示:
在这里插入图片描述

wanxinp2p:这是整个项目的父工程,管理依赖环境
wanxinp2p-api : 存放整个项目的API( 接口+各种实体类 )
wanxinp2p-common: 存放整个项目的通用组件( 各种业务封装类+工具类 )
wanxinp2p-gateway-service :网关微服务,端口号 53010
wanxinp2p-consumer-service:用户中心微服务,端口号 53050
wanxinp2p-discover-server:服务注册中心(Eureka),端口号 53000

2 )基础工程关系图
在这里插入图片描述

3 )基础工程测试

配置启动参数
采用阿波罗可以摒弃这些

在这里插入图片描述

  • 访问Eureka服务注册中心
    在这里插入图片描述

  • 直接访问一个Controller进行测试
    在这里插入图片描述
    访问http://localhost:53050/consumer/hello

  • 通过网关访问微服务的一个Controller进行测试
    http://localhost:53010/consumer/hello也能出现hello正常
    发往网关,不是用户中心,但会把请求转发给用户中心

1.3 Apollo配置中心

本项目中各个微服务的大部分配置信息由Apollo统一管理。

1.4 微服务基础工程(Apollo环境)

1.4.1 Apollo环境搭建

  1. 进入“资料\p2p_apollo环境”文件夹中,执行p2p_apollo.sql(包含有基础工程的初始配置)
  2. 用记事本打开runApollo.bat,修改其中的MySQL密码
  3. 双击runApollo.bat启动Apollo,启动完毕后访问http://localhost:

1.4.2 打开基础工程(Apollo环境)并测试

在“代码”文件夹中,有一个“wanxinp2p_apollo”项目,这是使用Apollo环境的微服务基础工程,直接右键用IDEA打开即可,可以浏览一下这些基础工程与前面的变化。
分别启动这几个基础工程,然后进行测试:
1 、访问Eureka服务注册中心
2 、直接访问一个Controller进行测试
3 、通过网关访问微服务的一个Controller进行测试
在这里插入图片描述
启动的時候要用开发环境、启动时从默认的集群配置信息、微服务占用端口号

注意:在以后的开发过程中,每次都要先启动Apollo,再启动p2p后端微服务工程

2 接口相关工具

2.1 API接口文档利器:Swagger

发请求到Controller
需要知道:访问路径、参数和返回值、请求方式
提供一个文档

2.1.1 Swagger介绍

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(https://swagger.io/)。 它的主要作用是:

  1. 使得前后端分离开发更加方便,有利于团队协作
  2. 接口的文档在线自动生成,降低后端开发人员编写接口文档的负担
  3. 功能测试
    Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。

2.1.2 SpringBoot集成Swagger

  1. 引入依赖
<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>

只需要在wanxinp2p_common中进行配置即可,因为其他微服务工程都直接或间接依赖wanxinp2p_common。
2. 在wanxinp2p_consumer工程的application.propertis中配置swagger的启动开关

# 应用程序名称
spring.application.name=consumer-service
# 微服务访问路径
server.servlet.context-path=/consumer
# 开启swagger
swagger.enable=true
  1. 在wanxinp2p_consumer工程的config包中添加一个配置类
@Configuration
@ConditionalOnProperty(prefix = "swagger",value = {"enable"},havingValue =
"true")
@EnableSwagger2
public class SwaggerConfiguration {
@Bean
public Docket buildDocket() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(buildApiInfo())
.select()
// 要扫描的API(Controller)基础包
.apis(RequestHandlerSelectors.basePackage("cn.itcast.wanxinp2p"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo buildApiInfo() {
Contact contact = new Contact("黑马程序员","","");
return new ApiInfoBuilder()
.title("万信金融P2P平台-用户服务API文档")
.description("包含用户服务api")
.contact(contact)
.version("1.0.0").build();
}
}

2.1.3 Swagger常用注解

在Java类中添加Swagger的注解即可生成Swagger接口文档,常用Swagger注解如下:
@Api:修饰整个类,描述Controller的作用 @ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数的描述信息
@ApiModel:用对象来接收参数
@ApiModelProperty:用对象接收参数时,描述对象的一个字段
@ApiResponse:HTTP响应其中 1 个描述
@ApiResponses:HTTP响应整体描述
@ApiIgnore:使用该注解忽略这个API
@ApiError :发生错误返回的信息
@ApiImplicitParam:一个请求参数
@ApiImplicitParams:多个请求参数的描述信息
@ApiImplicitParam属性:

  • 在这里插入图片描述我们在ConsumerController中添加Swagger注解,代码如下所示:
@RestController
@Api(value = "用户服务", tags = "Consumer", description = "用户服务API")
public class ConsumerController {
@ApiOperation("测试")
@GetMapping(path = "/hello")
public String hello(){
return "hello";
}
@ApiOperation("测试")
@ApiImplicitParam(name = "name", value = "姓名", required = true, dataType =
"string")
@PostMapping(value = "/hi")
public String hi(String name) {
return "hi,"+name;
}
}

2.1.4 Swagger生成文档

  1. 启动wanxinp2p-consumer-service服务工程,用浏览器访问:http://localhost:53010/consumer/swagger-ui.html
    在这里插入图片描述

  2. 点击其中任意一项即可打开接口详情,如下图所示:
    在这里插入图片描述

  3. 点击“Try it out”开始测试,并录入参数信息,如下图所示:
    在这里插入图片描述

  4. 点击“Execute"发送请求,执行测试,如下图所示:
    在这里插入图片描述

Swagger生成API文档的工作原理:
1 、wanxinp2p-consumer-service启动时会扫描到SwaggerConfiguration类
2 、在此类中指定了扫描包路径cn.itcast.wanxinp2p,会找到在此包下及子包下标记有@RestController注解的controller类
3 、根据controller类中的Swagger注解生成API文档

2.2 接口调试利器:Postman

Postman是一款功能强大的http接口测试工具,使用Postman可以完成http各种请求的功能测试。作为
服务器端开发人员,当一个业务功能开发完毕后,应该用Postman进行功能测试。
1 、请自行在本机安装Postman,首次使用需要注册并登录。
2 、新建集合(建议一个微服务新建一个对应的集合)
在这里插入图片描述

3 、在某集合中新建请求,并录入请求信息
在这里插入图片描述

4 、使用postman测试http接口
在这里插入图片描述

5 、请求参数设置
1 ) get请求参数设置
在这里插入图片描述

2 )post请求参数设置
form表单数据:
在这里插入图片描述

JSON数据:
在这里插入图片描述

小技巧:每个测试都可以进行保存(Ctrl+S),以便于后续使用。

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是二次元穿越来的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值