如何通过QnA Maker API v4.0更新知识库?遇PATCH接口405错误
问题分析与解决方案
首先明确:QnA Maker API v4.0完全不支持PATCH方法来更新知识库,这就是你收到405 Method Not Allowed错误的直接原因。
你需要做的修正:
- 把HTTP请求方法从
PATCH替换为PUT,这是QnA Maker API v4.0指定的知识库更新方法。 - 请求体的结构可以保留你原来的
add字段设计,PUT请求支持增量添加新的QnA条目,同时也支持修改、删除现有条目(通过在请求体中加入update或delete字段实现)。
修正后的请求示例:
PUT https://my-test-site.azurewebsites.net/qnamaker/knowledgebases/1d2fb9b0-cc8b-41a4-abbe-3bcb2e497220 Authorization: EndpointKey xxxx Content-Type: application/json { "add": { "qnaList": [ { "id": 0, "answer": "Well, hi to you too!", "questions": [ "Hi there" ] } ] } }
补充说明:
你提到的文档表述模糊问题确实存在,但官方API规范里明确了知识库的更新操作只能通过PUT完成。如果后续需要修改现有QnA条目,可以在请求体中添加update字段,通过匹配QnA的id来修改内容;如果要删除条目,则使用delete字段指定目标id即可。
内容的提问来源于stack exchange,提问作者mattipet
相关产品推荐
相关产品推荐

