yoqw/README.md
2020-11-22 22:43:21 +08:00

135 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Yo
### 运行环境需求
[运行环境需求](语音服务环境需求.md)
### IDEA 开发环境需求
由于项目依赖`org.projectlombok:lombok:1.18.2`,而`Lombok``1.18.4`版本做了[重设计](https://projectlombok.org/features/experimental/FieldNameConstants),不兼容之前版本,因此`IDEA``Lombok`插件必须是版本`lombok-plugin-0.23`,这里比较坑,如果升级到版本`1.18.4`以后插件还是得升级而且很多API都要改。
插件下载地址:[https://pan.caimi-inc.com/d/b038610394/](https://pan.caimi-inc.com/d/b038610394/)
下载对应版本插件,比如`IDEA 2018.2.x`下载`lombok-plugin-0.23-2018.2.zip`,卸载`IDEA`已安装`Lombok`插件,选择磁盘安装,如下图:
![安装Lombok插件](doc/images/install-lombok-plugin.png)
### 启动SpringBoot项目
建议先执行mvn编译命令比如编译模块`CMS`
```bash
mvn clean compile -am -pl cms -T 2C
```
### Tigon
#### Controller
如果加注了`@ResponseBody`或者`@RestController`,不做变动,依循`Spring MVC`方式`JSON`序列化返回数据,否则返回`Wacai`接口规范数据格式,如下例:
#### @ResponseBody
```java
@ResponseBody
@RequestMapping("/resp-body")
public String respBody() {
return "Response Body";
}
```
响应输出
```
Response Body
```
#### Wacai JSON API
```java
@RequestMapping("/resp-body")
public String respBody() {
return "Response Body";
}
```
响应输出
```
{
"code": 0,
"success": true,
"data": "Response Body"
}
```
简单来说就是,不加`@ResponseBody`注解,默认会以`Wacai`API规范响应数据结果。
参见以下样例:
I.
```java
@RequestMapping("/count")
public int count() {
return 1024;
}
```
响应输出
```
{
"code": 0,
"success": true,
"data": 1024
}
```
II.
```java
@RequestMapping("/user-info")
public Map<String, Object> userInfo() {
final Map<String, Object> user = new HashMap<>(4);
user.put("name", "Uncle Donghuang");
user.put("gender", "MALE");
user.put("mobile", "17161787481");
user.put("active", true);
return user;
}
```
响应输出
```
{
"code": 0,
"success": true,
"data": {
"name": "Uncle Donghuang",
"gender": "MALE",
"mobile": "17161787481",
"active": true,
}
}
```
III.
```java
@RequestMapping("/error-caused")
public Map<String, Object> errorCaused() {
throw new RuntimeException("Oops, some error caused");
}
```
响应输出
```
{
"code": 5000,
"success": false,
"message": "Oops, some error caused"
}
```