错误406不可接受的JSON

use*_*189 6 c# api json artifactory

http://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-CreateorReplaceRepositoryConfiguration

我正在使用创建或替换存储库配置调用.但是我得到了406错误:不可接受.其他PUT调用正在运行但不返回JSON.我相信JSON是错误的来源,但无法解决或证明这一点.

我添加了如下代码

RestClient Client = new RestClient(uriString);
RestRequest Request = new RestRequest(requestType);

Request.AddHeader("Authorization", "Basic " + credentials);
Request.AddHeader("Accept", "application/json");
Run Code Online (Sandbox Code Playgroud)

我已经看到线程,添加标头接受JSON解决错误,但这对我没有用.

Dro*_*sky 9

406 HTTP状态意味着,如果web服务器检测到它想要返回的数据是不能接受的客户端,它返回一个包含406错误代码的报头.客户端可以使用accept标头定义它将从Web服务器接收的数据的特征.
在这种情况下,您声明您要接受application/json:

Request.AddHeader("Accept", "application/json");
Run Code Online (Sandbox Code Playgroud)

但是,您正在调用的REST API方法正在返回text/plain.
您应该将代码更改为接受text/plain:

Request.AddHeader("Accept", "text/plain");
Run Code Online (Sandbox Code Playgroud)


JBa*_*uch 0

首先,Accept标头说明客户端准备返回什么,而不是客户端发送什么。说明客户端发送内容的标头是Content-Type

另外,此方法不接受application/json. 正如文档中明确指出的,它接受以下其中一项:

  • application/vnd.org.jfrog.artifactory.repositories.LocalRepositoryConfiguration+json
  • application/vnd.org.jfrog.artifactory.repositories.RemoteRepositoryConfiguration+json
  • application/vnd.org.jfrog.artifactory.repositories.VirtualRepositoryConfiguration+json