无法将我的数据推送到 json 服务器

Not able to push my data in an json server

这是一个本地 JSON 服务器,您可以在此 URL 上看到 http://localhost:3003/CourseList/1 我的钩子

 const [subjectName,setsubjectName]=useState(
          {
            id: "",
            subjectname: "Aptitude",
            chapter: [
              {
                chapter1: "",
                topic: [
                  {
                    topic1: ""
                  }
                ]
              }
            ]
          }
    );

当我点击添加按钮时会检查它是否与道具的 ID 匹配然后它会执行任务

 const addSubject = async id => {
        console.log("id "+id);
      axios.get(`http://localhost:3003/CourseList/`)
      .then((res)=>{
        res.data.map((list,index)=>{
         if(list.id===props.id){
           console.log(list.subject)
           list.subject.push(subjectName);
          
        }
        })
      })
      .catch((error)=>{
       console.log(error);
      })
      };

如何在主题数组中推送新数据?我一无所获

如果您使用的是 JSON-server,它应该有一个用于 PATH/PUT 您的新 object 的默认端点。您需要在您的请求 header 中发送 Content/Type: application/json 并在您的服务器中设置 jsonServer.bodyParser

这是解决方案

const addSubject = async id => { console.log("id"+id);

    try{
      const {data} = await axios.get("http://localhost:3003/CourseList")
      
      data.map(async(item)=>{
        if(item.id===id){
          console.log(item);
          item.subject.push(subjectName);
          
          await axios.put(`http://localhost:3003/CourseList/${id}`,item)
        }
      })
      const check= await axios.get(http://localhost:3003/CourseList/${id})
      console.log(check)
    }catch(err){
      console.log(err.message)
    }
  };