如果错误是多余的,请道歉,但我正在寻找一个特定的解决方案。
我正在尝试使用swagger rest API将新版本的架构发布到Hortonworks Schema Registry。我正在使用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。但都没有效果。以编程方式使用其余api将新版本的架构发布到hdf注册表的正确方法是什么?
在源代码中,它是@POST @Path("/schemas/{name}/versions")
您需要删除最后的版本号,因为它会返回一个版本。您没有为架构提供特定版本
而且我不知道是否允许使用空格,因此您可能希望将其从diff data
中删除
您用于@GET @Path("/schemas/{name}/versions/{version}")
的地址不允许使用其他HTTP方法
注意:您可以使用swagger-codegen
为服务器创建Python代码,而不是在requests
中重写代码