Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert在处理leader作为一个list时会报错 #5

Open
Junnstoy opened this issue Jul 6, 2024 · 1 comment
Open

Convert在处理leader作为一个list时会报错 #5

Junnstoy opened this issue Jul 6, 2024 · 1 comment

Comments

@Junnstoy
Copy link

Junnstoy commented Jul 6, 2024

想问下老师这个应该怎么处理
————————————————————————————————————————————————————
{'date': '2024-07-05', 'week': '五', 'war': '英雄江天夜宴', 'battle': '神农洇', 'orecar': '烂柯山', 'school': '纯阳·西昇大典', 'rescue': '少林·乱世', 'luck': ['一杠', '财财', '枫林客'], 'card': ['英雄罗汉门', '英雄剑冢惊变', '达摩洞'], 'leader': ['岑伤', '森九岚'], 'draw': '长歌·正太[琢诗]', 'team': ['经首道源·越海珠贝;龙泉府·雪国冬猎', '英雄梧桐山庄;英雄梦入集真岛;英雄剑冢惊变', '冷龙峰;范阳夜变;敖龙岛']}
Traceback (most recent call last):
File "D:\Project\test\test_jx3_api\test.py", line 11, in
api.data_active_calendar(server="梦江南")
File "d:\Project\nonebot2.conda\lib\site-packages\jx3apifun\http\handler.py", line 49, in wrapper
return caller.call_api_sync(request, model)
File "d:\Project\nonebot2.conda\lib\site-packages\jx3apifun\http\caller.py", line 63, in call_api_sync
return convert(data, model, strict=False)
msgspec.ValidationError: Expected str | null, got array - at $.leader
————————————————————————————————————————————————————
{'date': '2024-07-06', 'week': '六', 'war': '英雄幽藤馆', 'battle': '三国古战场', 'orecar': '烂柯山', 'school': '纯
阳·西昇大典', 'rescue': '万花·乱世', 'luck': ['红绸', '刀豆', '鸿鸿'], 'card': ['英雄集真岛', '英雄梧桐山庄', '白帝 江关'], 'draw': '长歌·萝莉[挽琴]', 'team': ['经首道源·越海珠贝;龙泉府·雪国冬猎', '英雄梧桐山庄;英雄梦入集真岛;英雄剑冢惊变', '冷龙峰;范阳夜变;敖龙岛']}
result:DataActiveCalendar(date='2024-07-06', week='六', war='英雄幽藤馆', battle='三国古战场', orecar='烂柯山', leader=None, school='纯阳·西昇大典', rescue='万花·乱世', draw='长歌·萝莉[挽琴]', luck=['红绸', '刀豆', '鸿鸿'], card=['英雄集真岛', '英雄梧桐山庄', '白帝江关'])
—————————————————————————————————————————————————————

@Junnstoy Junnstoy changed the title c Convert在处理leader作为一个list时会报错 Jul 6, 2024
@Junnstoy
Copy link
Author

Junnstoy commented Jul 6, 2024

此问题已通过修改Model.py line.62 解决。

- leader: Optional[str] = None
+ leader: Optional[list[str]] = None

花价DataHomeFlower需要在接口py增加token需求

+ @require_token
    def data_home_flower()

花价数据在做完convert转换后返回异常:DataHomeFlower();我这边用了比较笨的方法,还请老师帮忙看下是否可以优化。

class DataHomeFlower(BaseData):
    """
    家园花卉接口返回值模型
    """
+    guanglinyi: Optional[list] = field(name="广陵邑", default=None)
+    yueyuan: Optional[list] = field(name="枫叶泊·乐苑", default=None)
+    tianyuan: Optional[list] = field(name="枫叶泊·天苑", default=None)
+    jiuzhaigou: Optional[list] = field(name="九寨沟·镜海", default=None)

+    """按地图返回所有花的列表,键入地图后,其余地图返回空列表"""
-     #model_config = {"extra": "allow"}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant