博主在做一款图书app的后台,最近遇到的一个需求:
前端向后端返回图书的isbn码,后端向前端返回该isbn对应图书的信息,例如书名、作者、出版社、简介等。
后端实现的逻辑:
- 读取isbn码,判断是否为空,为空则报错
- 查看数据库是否有与该isbn匹配的图书信息,如果有则直接返回
- 如果没有,则利用豆瓣开发者工具,进行查找,通过对接收到的信息进行解析,并插入到数据库中
前两步都没有问题,问题就在于第三步,我们需要完成:
- 在java代码中,发送http的请求,以获取图书的信息
- 豆瓣开发者工具返回的是JSON格式的文件,因此,我们需要将JSON格式的文件进行解析
这两个问题也是比较常见的问题,我这里将分两个部分分别介绍:
1.发送http请求
public static void temp(String isbn) throws IOException{
// 我们需要进行请求的地址:
String temp = "https://api.douban.com/v2/book/isbn/" + isbn;
try {
// 1.URL类封装了大量复杂的实现细节,这里将一个字符串构造成一个URL对象
URL url = new URL(temp);
// 2.获取HttpURRLConnection对象
HttpURLConnection connection = (HttpURLConnection)url.o