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

设计师怎么做响应式网站小程序商城哪的服务好

设计师怎么做响应式网站,小程序商城哪的服务好,泰州网站制作计划,wordpress数据库改密码忘记前言看了下推送记录#xff0c;一个月前#xff0c;OK#xff0c;我又变成月更了o(╯□╰)o#xff0c;这绝对不行#xff01;[○#xff65;#xff40;Д#xff65; ○]所以今天来更新了其实不是我懒得更新或者是太忙#xff0c;其实是最近在写一篇很长的博客… 前言看了下推送记录一个月前OK我又变成月更了o(╯□╰)o这绝对不行[○Д´ ○]所以今天来更新了其实不是我懒得更新或者是太忙其实是最近在写一篇很长的博客一直没写完( Ĭ ^ Ĭ )另外快过年了我领到了公众号作者的红包封面定制机会接下来找时间设计copy一个好看的红包封面作为粉丝福利发给各位读者大大好吧先进入正题……有一个关于WebApi序列化的问题跟设计有关但在涉及到关联字段的时候经常会遇到。实体类先看看实体类定义限于篇幅只保留几个关键字段。public class CrawlTask : EntityBase {/// summary/// 爬虫名称/// /summarypublic string Name { get; set; }/// summary/// 创建这个爬虫的用户/// /summarypublic User User { get; set; }/// summary/// 用户ID/// /summarypublic string? UserId { get; set; } }用户实体类public class User : EntityBase {/// summary/// 用户名/// /summarypublic string Name { get; set; }/// summary/// 用户创建的爬虫/// /summarypublic ListCrawlTask CrawlTasks { get; set; } }接口然后接口这样写/// summary /// 获取用户创建的全部爬虫 /// /summary /// returns/returns [HttpGet] public ActionResultListCrawlTask GetAll() {var user  _authService.GetUser(User.Identity?.Name);return user.CrawlTasks; }然后请求这个接口我们期望的数据是[{name: 爬虫名称,user: {name: 用户名},userId: 0f3d4b2f-3b4e-4d08-8f4c-0009a316f041,id: 4d52d83b-f3ec-47c6-ab26-e241c09c14d1} ]报错但事实是直接报错System.Text.Json.JsonException: A possible object cycle was detected. This can either be due to a cycle or if the object depth is larger than the maximum allowed depth of 32. Consider using ReferenceHandler.Preserve on JsonSerializerOptions to support cycles. Path: $.User.CrawlTasks.User.CrawlTasks.User.CrawlTasks.User.CrawlTasks.User.CrawlTasks.User.CrawlTasks.User.CrawlTasks.User.CrawlTasks.User.CrawlTasks.User.CrawlTasks.Name.很明显返回的对象套娃递归了。注意那个Path:$.User.CrawlTasks.User.CrawlTasks.User.Crawl...我们上面期望的json数据是{name: test crawl123,user: {name: string},userId: 0f3d4b2f-3b4e-4d08-8f4c-0009a316f041,id: 4d52d83b-f3ec-47c6-ab26-e241c09c14d1 }即Crawl对象下的User只有Name属性不要把CrawlTasks列表也显示出来但程序它不知道啊User里有CrawlTasks然后CrawlTasks里面又有User这就陷入一个套娃递归了……初步解决很明显这根设计和数据获取方式有问题可以通过换个查询方式来避免比如[HttpGet] public ActionResultListCrawlTask GetAll() {return _crawlRepo.Where(a  a.UserId  User.Identity.Name).ToList(); }因为这里没有请求Crawl的导航属性User所以不会读取User对象的信息出现的结果是这样[{name: test crawl123,user: null,userId: 0f3d4b2f-3b4e-4d08-8f4c-0009a316f041,id: 4d52d83b-f3ec-47c6-ab26-e241c09c14d1} ]可以看到User对象的值是null对于接口来说已经够用了毕竟这是获取当前用户的所有爬虫所有爬虫的user属性都是同一个没必要重复啦。不过即使把User对象加上也是完全没问题的这里改一下接口看一下效果[HttpGet] public ActionResultListCrawlTask GetAll() {return _crawlRepo.Select.Where(a  a.UserId  User.Identity.Name).Include(a  a.User)  // 添加了这行代码请求关联对象.ToList(); }返回的结果[{name: test crawl123,user: {name: string,crawlTasks: null,id: 0f3d4b2f-3b4e-4d08-8f4c-0009a316f041},userId: 0f3d4b2f-3b4e-4d08-8f4c-0009a316f041,id: 4d52d83b-f3ec-47c6-ab26-e241c09c14d1} ]可以看到返回的Crawl对象中User对象里的crawlTasks属性是空的因为我们前面加的那行代码.Include(a a.User)FreeSQL还支持进一步查询User的导航属性crawlTasks但需要置顶Include的then参数配置套娃查询……继续那有没有什么办法是不改动接口代码的情况下解决接口套娃的问题答案肯定有啦这就要用NewtonsoftJson了~首先安装Microsoft.AspNetCore.Mvc.NewtonsoftJson这个nuget包然后在服务配置里面添加代码services.AddControllersWithViews().AddNewtonsoftJson(options  {options.SerializerSettings.ReferenceLoopHandling  ReferenceLoopHandling.Ignore;});然后再请求接口返回的结果就跟上面的一样啦~会导致套娃递归的属性直接变成null~PS这个代码的作用就是把WebApi默认的json序列化器从System.Text.Json改成NewtonsoftJson并且配置处理套娃递归的方式为忽略~参考文档https://stackoverflow.com/questions/59199593/net-core-3-0-possible-object-cycle-was-detected-which-is-not-supported代码使我头疼之React初学习AspNetCore在docker部署时遇到一个小坑Asp.Net Core部署早知道还是docker!以及一点碎碎念纯前端实现词云展示附微博热搜词云Demo代码一个玄学的爬虫bug竟让我放弃Python语言背后的原因令人唏嘘~
http://www.huolong8.cn/news/271352/

相关文章:

  • 深圳网站制作哪里济南兴田德润简介微信支付 网站开发
  • 西安建站平台哪个好电商网站开发定制
  • 请别人做网站需要注意什么问题佛山营销网站开发怎么选
  • 做的网站在百度找不到wordpress安装的模板文件
  • 网站建设步骤视频教程wordpress 链接重定向
  • 自适应网站做1920的公众号里的电影网站怎么做的
  • 外贸社交网站排名人社局网站建设方案
  • 效果好的网站制作公司网站建设公司推广广告语
  • 担保公司网站建设方案wordpress 搜索调用
  • 宁夏固原住房和建设局网站南宁seo按天收费
  • 众网站网络营销岗位介绍
  • 图书网站建设的规模策划书乐清网红餐厅
  • 成都网站建设方案托管软件开发app制作公司
  • 河南网站建设优化技术中国太空空间站
  • 计算机网站开发专业搜狗引擎
  • 杭州建站模板搭建优化国内访问wordpress
  • 怎么样提高网站点击率网站的哪些标签需要优化
  • 网站建设 杭州工程私人承包协议书
  • 猎奇网站源码中国十大教育培训机构有哪些
  • 只做一种产品的网站网站做后台教程
  • 常州哪家做网站便宜中国互联网头部企业
  • 用帝国cms做网站郑州纯手工seo
  • 嘉兴网站建设设计制作如何自己编写网站
  • 怎么做电商网站 用户画像网站建设到上线
  • 大连市建设学校网站网页配色方案
  • 盗号和做钓鱼网站那个罪严重wordpress拼图
  • 查看网站服务器信息正规制作网站公司
  • 山东省建设执业官方网站微信营销软件有哪些
  • 做网站好看的旅行背景图片企业融资概念
  • 一个主机可以做几个网站域名新加坡网站建设公司