当前位置: 首页 > news >正文

.net几行代码音乐API各排行榜 热搜 入库

对比了几家大厂的音乐API的接口 这家相对规范些

现在开始从零开始 net6敏捷开发对接 入库吧 

关键技术工具和思维

  1. 1 json 生成类 
  2. 2 分析类 规划表设计
  3. 3 sqlsuger codefirst 生成表  
  4. 4 封装get post 连接
  5. 5 类映射automapper
  6. 6 sqlsuger 插入数据

1 json 生成类  

宇宙 第 一的编辑器生成 相应的类

using miniAPI.Model;namespace miniAPI.Models
{public class QQtoplistDTO{ public class DataQQtoplistDTO{public List<Toplist> topList { get; set; }}public class Toplist{public DateTime CreateDate { get; set; } public int id { get; set; }public int listenCount { get; set; }public string picUrl { get; set; }public List<TopSonglist> songList { get; set; }public string topTitle { get; set; }public int type { get; set; }}//public class Songlist//{//    public string singername { get; set; }//    public string songname { get; set; }//}}public class Outputpara<T>{private int _code = 500;public int code{get { return _code; }set { _code = value; }}public int subcode { get; set; }private string _msg = "";public string msg{get { return _msg; }set { _msg = value; }}public string message { get; set; }public int _default { get; set; }//public Data data { get; set; }public T data { get; set; }}}

 2 分析类 规划表设计

 排行榜单 维度和songlist的明细 

 3 codefirst 生成表

sqlsuger 爽得不要不要的

 4 封装get post 连接

使用 httpClientFactory

 {private IHttpClientFactory _httpClientFactory;private readonly Cachelper _cachelper;private readonly IMapper _mapper;public MusicApibyqqController(IMapper mapper, IHttpClientFactory httpClientFactory, Cachelper cachelper){_mapper = mapper;_httpClientFactory = httpClientFactory;_cachelper = cachelper;} [HttpGet][Route("createmusicapibyqq")]public async Task<string> CreateMusicApibyqqIndex(){var client = _httpClientFactory.CreateClient();var param = new {   };string jsonData = System.Text.Json.JsonSerializer.Serialize(param);StringContent paramContent = new StringContent(jsonData);var logOutResponse = await client.GetAsync(url);string resultStr = await logOutResponse.Content.ReadAsStringAsync();Outputpara<DataQQtoplistDTO> response = System.Text.Json.JsonSerializer.Deserialize<Outputpara<DataQQtoplistDTO>>(resultStr);Console.WriteLine($"url:{url},  成功");}else{Console.WriteLine($"url:{url}, 失败");}}; return "同步完毕 toplist:" + listToplist.Count+ " TopSonglist:"+ listTopSonglist.Count;
}

5 类映射automapper

 

using AutoMapper;
using miniAPI.Model;
using static miniAPI.Models.QQtoplistDTO;namespace miniAPI.Config
{/// <summary>/// Dto的映射配置/// </summary>public class AutoMapperConfigs : Profile{public AutoMapperConfigs(){//从 Toplist=》 TopMusiclistCreateMap<Toplist, TopMusiclist>(); }}
}

注册

//Automapper映射
builder.Services.AddAutoMapper(typeof(AutoMapperConfigs));

映射 使用 

 _mapper.Map(temptoplist, tempTopMusiclist);

6  插入数据

 foreach (var temptoplist in response?.data?.topList){ TopMusiclist tempTopMusiclist = new TopMusiclist(); _mapper.Map(temptoplist, tempTopMusiclist);tempTopMusiclist.CreateDate = DateTime.Now;tempTopMusiclist.codeid = temptoplist.id;listToplist.Add(tempTopMusiclist);foreach (var tempsongList in temptoplist.songList){tempsongList.codeid=temptoplist.id; listTopSonglist.Add(tempsongList);} } SqlSugarHelper.addtoplist(listToplist);SqlSugarHelper.addtopSonglist(listTopSonglist); 
    Db.Insertable(listToplist).ExecuteCommand();

开始使用数据吧   据说API不能商用 QAQ  但放出来干啥QAQ

http://www.lryc.cn/news/114583.html

相关文章:

  • 使用gpt对对话数据进行扩增,对话数据扩增,数据增强
  • 算法练习工程1.2
  • 数字IC流片经历有多重要?怎样才能有流片机会?
  • fontfaceobserver 第三方字体加载优化方案
  • laravel安装composer依赖
  • 问题聚集度Hive SQL
  • Windows11右键菜单
  • 篇十四:观察者模式:对象间的通知与更新
  • Hadoop知识点总结
  • 相关搜索量激增10000%!“芭比周边”产品火爆亚马逊!
  • C高级第四讲
  • Idea小操作
  • 【计算机网络】socket编程
  • 2023华为OD机试真题 Python 实现【寻找最大价值的矿堆/深度优先搜索】
  • 【Java面试】Nacos自动注册原理实现以及服务注册更新并如何保存到注册表
  • linux 手动编译安装 pkg-config 步骤
  • 【MongoDB】数据库、集合、文档常用CRUD命令
  • 【JVM】是如何管理内存的
  • 进程与线程、线程创建、线程周期、多线程安全和线程池(ThreadPoolExecutor)
  • 《论文阅读13》Efficient Urban-scale Point Clouds Segmentationwith BEV Projection
  • Django实现音乐网站 ⑻
  • VScode中同时打开两个脚本
  • 能源电力工程师专属Python学习资料
  • 推荐5款实用软件,提高工作效率,丰富生活乐趣
  • Python爬虫在电商数据挖掘中的应用
  • element-ui 表格el-table的列内容溢出省略显示,鼠标移上显示全部和定制样式
  • 研究人员发现特斯拉汽车能被越狱,可免费解锁付费功能
  • 【设计模式】责任链的基本概念及使用Predicate灵活构造校验链
  • Taro保存图片到手机
  • zookeeper --- 基础篇