IIB 10.19 Операция REST GET Не вызывать почтальона - PullRequest
0 голосов
/ 04 апреля 2020

Попытка вызвать основную c операцию REST GET из браузера и почтальона.

Из браузера URL-адрес http://localhost:7800/restrequest_api/v1/4

Где 4 - это номер пользователя, который я передаю.

Он успешно вызывается.

Но из PostMan я не смог его вызвать.

Попробовал http://localhost:7800/restrequest_api/v1 с заголовком Content-Type как application/x-www-form-urlencoded и выбранным телом как x-www-form-urlencoded с ключом UserNumber и значением 4

Это дает ошибку как

<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>404 Not Found</title>
</head>

<body>
    <h1>404 Not Found</h1>
    <p>
        BIP6311E: REST API '&apos;RESTRequest_API&apos;' does not support method '&apos;GET&apos;' for URL
        '&apos;http://localhost:7800/restrequest_api/v1&apos;'.
    </p>
    <hr>
</body>

</html>

Обратите внимание: CORS включены:

mqsichangeproperties TESTNODE_hghatak -e default -o HTTPConnector -n corsEnabled -v true

mqsichangeproperties TESTNODE_hghatak -b httplistener -o HTTPConnector -n corsEnabled -v true

mqsistop TESTNODE_hghatak

mqsistart TESTNODE_hghatak

Ниже приведено Файл Swagger, который я использовал для разработки:

{
  "swagger" : "2.0",
  "info" : {
    "title" : "RESTRequest_API",
    "version" : "1.0.0",
    "description" : "RESTRequest_API"
  },
  "paths" : {
    "/{UserNumber}" : {
      "get" : {
        "operationId" : "getUser",
        "responses" : {
          "200" : {
            "description" : "The operation was successful.",
            "schema" : {
              "$ref" : "#/definitions/Output"
            }
          }
        },
        "produces" : [ "application/json" ],
        "description" : "Retrieve User",
        "parameters" : [ {
          "required" : true,
          "name" : "UserNumber",
          "in" : "path",
          "type" : "string"
        } ]
      }
    }
  },
  "basePath" : "/restrequest_api/v1",
  "definitions" : {
    "Output" : {
      "type" : "object",
      "properties" : {
        "firstName" : {
          "type" : "string"
        },
        "lastName" : {
          "type" : "string"
        },
        "userDetails" : {
          "type" : "string"
        },
        "userNumber" : {
          "type" : "string"
        }
      }
    }
  },
  "host" : "localhost:7800"
}

В чем проблема?

1 Ответ

0 голосов
/ 06 апреля 2020

Просто выберите GET в качестве операции в POSTMAN и на вкладке BODY в почтальоне выберите опцию «none». Убедитесь, что вы используете тот же URL в почтальоне, что и в браузере, т.е. http://localhost: 7800 / restrequest_api / v1 / 4

Объяснение:

Ваш файл swagger указывает на то, что выполняется операция GET , следовательно, не требуется отправлять полезную нагрузку. Поэтому выбор типа контента не применим. В разделе параметров файла swagger упоминается следующее "in": "path" , что означает, что вы должны передать параметр пути в свой URL, т.е. http://localhost : 7800 / restrequest_api / v1 / 4 где 4 - ваш параметр пути в вашем примере. Вы можете go через следующую ссылку почтальона, которая предоставляет дополнительную информацию о параметрах отправки => https://learning.postman.com/docs/postman/sending-api-requests/requests/#sending -параметры

...