首页 > 解决方案 > Strapi POST API 调用问题

问题描述

为什么 Strapi POST 调用,总是期待多部分请求我没有特定内容类型中的多部分数据。

在 Strapi CMS 门户的角色和权限部分,我已授予访问权限CREATE

发布数据 在此处输入图像描述

回复 在此处输入图像描述

import React, { useState } from 'react'

export default () => {
    const [description, setDescription] = useState('')

    const handleSubmit = async (event) => {
        event.preventDefault();

        const data = await fetch('http://localhost:1337/posts', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({
                description
            })
        })
        const response = await data.json();
        console.log(response)
    }
    return (
        <div className="Create">
            <form onSubmit={handleSubmit}>
                <input
                    type="text"
                    placeholder="Description"
                    value={description}
                    onChange={(event) => {
                        setDescription(event.target.value)
                    }}
                />
                <button>Submit</button>
            </form>
        </div>
    )
}

标签: reactjsapistrapi

解决方案


我在这个项目中使用的技术堆栈

前端:Reactjs 后端:Strapi

当我面对这个问题时,我可能没有意识到它。后端(Strapi)发生了什么。

遇到这个问题后发现的想法:

  1. 当您在 Strapi CMS 中创建新的集合类型时。Strapi 将自动在文件夹内创建 4 个文件夹 [config, controllers, models, services],api用于自定义目的。
  2. 我面临的问题是基于控制器文件夹文件(post.js)中添加的条件,然后我删除了该代码并尝试访问该POSTAPI 调用,它工作正常。没有任何错误。

有用的资源,我在strapi文档中找到:

https://strapi.io/documentation/developer-docs/latest/development/backend-customization.html#controllers

Strapi 在控制器文件中创建自定义代码文件。 在此处输入图像描述


推荐阅读