swagger: запросы Python: javax.ws.rs.NotAllowedException: HTTP 405 метод не разрешен
Извините, если это излишне с ошибкой, но я ищу конкретное решение.
Я пытаюсь опубликовать новую версию схемы в Hortonworks Schema Registry с помощью API остаточного сваггера. Я использую модуль запросов Python, чтобы программно публиковать новые версии.
path = '/' + schemaname + '/versions' + '/' + str(max(versions)+1)
logger.info(self.url(path))
requests.post(self.url(path), schemaText)
ERROR [2019-02-15 17:18:13.496] [dw-167124 - PUT /api/v1/schemaregistry/schemas/diff%20data/versions/2] c.h.r.c.GenericExceptionMapper - Got exception: [NotAllowedException] / message [HTTP 405 Method Not Allowed]
Я пробовал разные вещи, как предлагалось в предыдущих выпусках "Метод разрешенных исключений", например, использование вместо них PUT, POST или GET. Но никто не работал. Как правильно разместить новую версию схемы в реестре hdf, используя остальные API программно?
1 ответ
В исходном коде это @POST @Path("/schemas/{name}/versions")
Вам нужно удалить номер версии в конце, так как он возвращает вам версию. Вы не даете схеме конкретную версию
И я не знаю, разрешены ли пробелы, поэтому вы можете удалить его из diff data
Адрес, который вы используете для @GET @Path("/schemas/{name}/versions/{version}")
не разрешает другие методы HTTP
Примечание: вы можете использовать swagger-codegen
создавать код Python для сервера, а не переписывать код в requests