【MapSheep】
[好记性不如烂笔头]
posts - 228,comments - 15,views - 17万
  1. 知识点
  • List 集合入参
  • 字符串前后缀剔除
  • 好用的JSON转换工具
  1. 请求URL
  1. Controller
@GetMapping("/PasadenaAll")
public List<Pasadena> PasadenaAll(@RequestParam List<Integer> newArr) {
// 创建返参
List<Pasadena> list = new ArrayList<>();
//组装查询条件
List<Integer> macon = new ArrayList<>();
newArr.forEach(ar -> Collections.addAll(macon, ar));
//获取解析歌曲路径
PasadenaUtil.list(macon).forEach(item -> list.add(item));
return list;
}

  1. 异步调用工具类
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSON;
import com.example.demo.pojo.Pasadena;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
@Component
public class PasadenaUtil {
public static final String PREFIX = "https://www.9ku.com/html/playjs/58/";
public static final String SUFFIX = ".js";
public static List<Pasadena> list(List<Integer> item) {
//创建返参
List<Pasadena> list = new ArrayList<>();
// 遍历组装参数异步请求
item.forEach(arg -> {
String url = PREFIX + arg + SUFFIX;
String body = HttpRequest.post(url).timeout(2000)
.execute()
.body();
// 剔除字符串第一位
String before = body.substring(1);
// 剔除字符串最后一位
String after = before.substring(0, before.length() - 1);
// 反序列化转载至集合
list.add(JSON.parseObject(after, Pasadena.class));
});
return list;
}
}

  1. 引入依赖
<!--hutool工具类 用于发送异步请求-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.3.2</version>
</dependency>

  1. 方法JSON返回
[
{
"id": "89467",
"mname": "日不落",
"singer": "蔡依林",
"wma": "https://mp3.9ku.com/hot/2007/09-18/89467.mp3",
"status": "1"
},
{
"id": "64540",
"mname": "风雨彩虹铿锵玫瑰",
"singer": "田震",
"wma": "https://mp3.9ku.com/hot/2005/03-01/64540.mp3",
"status": "1"
},
{
"id": "81668",
"mname": "我的中国心",
"singer": "张明敏",
"wma": "https://mp3.9ku.com/hot/2007/02-24/81668.mp3",
"status": "1"
},
{
"id": "49180",
"mname": "一千零一夜",
"singer": "邰正宵",
"wma": "https://mp3.9ku.com/hot/2004/07-17/49180.mp3",
"status": "1"
}
]
posted on   (Play)  阅读(182)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~

点击右上角即可分享
微信分享提示