本功能的实现是通过调用古诗词·一言API的为接口来实现的。通过后端调用获取诗句的路径获取诗句,在接收其对象进行返回。 Java获取诗句的路径包含很多种类供大家选择,也可以对路径进行拼装选择。下面直接上代码。
1、pom.xml文件的引用
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.80</version>
</dependency>
引用是为了获取根据路径获取的信息
2、配置文件
无
3、实体类
package com.zjh.weixin.Model;
import lombok.Data;
@Data
public class PoetryModel {
private String content;
private String origin;
private String author;
private String category;
}
4、根据路径获取信息
package com.zjh.weixin.Util;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.web.client.RestTemplate;
import com.alibaba.fastjson.JSON;
import java.util.Map;
public class HttpsUtil {
public static String get(String url){
HttpHeaders headers = new HttpHeaders();
MediaType mediaType = MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(mediaType);
RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(url, String.class);
return result;
}
}
5、调用方法
public static void main(String[] args) {
String url = "https://v1.jinrishici.com/shuqing/aiqing";
String s = HttpsUtil.get(url);
System.out.println(s);
JSONObject object = JSONObject.parseObject(s);
PoetryModel jb = (PoetryModel)JSONObject.toJavaObject(object,PoetryModel.class);
System.out.println(jb);
String zong = jb.getContent()+"----"+jb.getAuthor()+"------"+jb.getOrigin();
System.out.println(zong);
}
执行该方法,成功获取的信息。 注:该功能虽说是springboot项目,但是缺失许多东西,不太完善(其主要原因是因为作者发现通过java编程实现通过用户账号发送给该用户的好友信息,只能通过Robot的自动测试功能实现微信发送消息。该方法缺点太大,不太方便,暂时未找到其他更好的方法(如有其他方法望留言告知),只为做测试(说实话就是为了玩),所以项目不太完善,后续会会不定时更新的。)
也可将获取的诗句存储到自己的数据库中,防止url失效,造成功能停用。 如用那些方法不太好,望指教(感激不尽)。 (该功能作者会不定时的更新补充,防止丢失请关注作者。)
|