You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript编码考核:验证POST请求Body格式问题求助

解决Validation接口POST请求的结构问题

问题描述

我正在进行JavaScript编码考核,已经成功通过指定API拿到了movies和actors接口的数据,但卡在了validation接口的POST请求环节——不清楚正确的请求Body结构。尝试提交包含演员姓名与电影标题的内容时,出现错误:"Object reference not set to an instance of an object."

相关接口信息

1. Movies接口(GET)

curl --request GET \
--url https://switch-yam-equator.azurewebsites.net/api/movies \
--header 'x-chmura-cors: <access_token>'

返回示例:

[
  {
    "movieId": 365478,
    "title": "Man with the Screaming Brain",
    "actors": [331341, 132257, 126364, 1646]
  },
  ...
]

2. Actors接口(GET)

curl --request GET \
--url https://switch-yam-equator.azurewebsites.net/api/actors \
--header 'x-chmura-cors: <access_token>'

返回示例:

[
  {
    "actorId": 168,
    "title": "Samuel L. Jackson"
  },
  ...
]

3. Validation接口(POST)

curl --request POST \
--url https://switch-yam-equator.azurewebsites.net/api/validation \
--header 'x-chmura-cors: <access_token>' \
--data '<results>'

示例响应片段(存在语法错误):

[
  {
    "Name": "Alan Smithee",
    "KRMovies": [
      "The Matrix",
      "The Matrix Revolutions"
    ]
    "NCMovies": [

解决思路

  1. 修正JSON格式认知
    你提供的Validation接口示例响应有语法错误(KRMovies数组末尾少逗号,NCMovies数组未闭合),但能明确接口期望的请求Body是JSON数组结构,每个元素必须包含三个字段:

    • Name:演员姓名(对应actors接口的title字段)
    • KRMovies:该演员实际参演的电影标题数组
    • NCMovies:该演员未参演的电影标题数组
  2. 梳理数据关联关系
    先把两组接口数据做映射处理:

    • 遍历actors接口的每个演员,用其actorId匹配movies接口中actors数组包含该ID的电影,收集这些电影的标题作为KRMovies内容
    • 从所有电影标题里剔除KRMovies的内容,剩下的就是NCMovies的内容
  3. 检查请求头与提交方式
    POST请求必须添加Content-Type: application/json请求头,确保接口能正确解析JSON格式的Body。如果用curl,建议把--data换成--json,它会自动带上正确的请求头。

  4. 避免空值或缺失字段
    错误"Object reference not set to an instance of an object."大多是因为请求里缺了必填字段,或者字段值为null/undefined。要保证Name、KRMovies、NCMovies三个字段都存在,哪怕数组为空也不能省略。

  5. 正确请求Body示例

[
  {
    "Name": "Samuel L. Jackson",
    "KRMovies": ["Man with the Screaming Brain"],
    "NCMovies": ["The Matrix"]
  }
]

内容的提问来源于stack exchange,提问作者Namees Albayate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 06:25:28