BaiduController.java
1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.sincre.springboot.controller;
import com.alibaba.fastjson.JSON;
import com.sincre.springboot.ApiModel.BaiduResult;
import com.sincre.springboot.common.ServerResponse;
import com.sincre.springboot.utils.ApiHelper;
import com.sincre.springboot.utils.CacheHelper;
import com.sincre.springboot.utils.ResultUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping(value = "/Baidu/*")
@Api(tags = "百度云服务API调用")
public class BaiduController {
@ApiOperation("根据上传的图片进行切图")
@ApiImplicitParam(name = "imgUrl",value = "图片地址url",required = true)
@PostMapping("cutPicture")
public ServerResponse cutPicture( String imgUrl) {
// 请求url
String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general";
String param = imgUrl;
// 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
String accessToken = CacheHelper.getBaiDuToken();
String postToken = "?access_token=" + accessToken;
Map<String, String> headMap = new HashMap<>();
headMap.put("Content-Type", "application/x-www-form-urlencoded");
Map<String,Object> body = new HashMap<>();
body.put("url",param);
String result = ApiHelper.doPost(url+postToken,headMap, body);
BaiduResult baiduResult = JSON.parseObject(result, BaiduResult.class);
return ResultUtils.getInstance().returnResult_Baidu(baiduResult,result);
}
}