4

我在 OpenAPI 中定义了以下 POST 方法:

post:
  tags:
  - Courses
  description: Creates a new Course and add it to specified Program
  parameters:
  - name: Program
    in: path
    description: Specified Program to add the new course to
    required: true
    schema:
      type: string
  requestBody: 
    required: true
    content: 
      application/json:
        schema:
          $ref: '#/components/schemas/Course'

在失眠中我可以定义Course对象,我想通过 body/JSON 选项卡添加,但是如何定义所需的参数?它在 Query 选项卡中的工作方式与 GET 方法不同。

我是否使用参数手动设置 POST 请求的路径,或者是否有内置方式(或者根本不可能)?

这是尝试在“查询”选项卡中添加程序参数时的卷曲:

curl --request POST \
  --url 'http://localhost:8080/Courses?Program=Testprogram' \
  --header 'content-type: application/json' \
  --data '{
"name": "TestCourse",
"type": "UE",
"etcs": 26,
"courseID": 909090
}'
4

1 回答 1

0

我遇到了完全相同的问题,我的问题是从 HTTP 到 HTTPs 的内部重定向(nginx),它改变了请求类型,并且无法维护请求的主体。奇怪的是,它与“Multipart Form”一起使用。

因此,请确保您在 Insomnia 中提供完整的 URI,包括用于请求的协议。

我通过将 Insomnia GUI 中的请求复制为cURL命令并将其粘贴到我的终端中发现了这个问题,这给了我一个301 Permanently moved. ;)

于 2021-11-09T16:10:51.377 回答