135 lines
2.5 KiB
Markdown
135 lines
2.5 KiB
Markdown
## 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`插件,选择磁盘安装,如下图:
|
||

|
||
|
||
### 启动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"
|
||
}
|
||
```
|