Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax HTTP 406命中以文件扩展名结尾的端点时出错_Ajax_Http Headers_Http Status Code 406 - Fatal编程技术网

Ajax HTTP 406命中以文件扩展名结尾的端点时出错

Ajax HTTP 406命中以文件扩展名结尾的端点时出错,ajax,http-headers,http-status-code-406,Ajax,Http Headers,Http Status Code 406,为了这个问题,专有信息已被重命名/删除 我们有一个springrest端点/api/getStuff/,其中由用户指定 在大多数情况下,一切都很好。用户请求/api/getStuff/myThing,他们得到一个包含myThing信息的json响应。更具体地说,响应的内容类型是application/json;字符集=utf-8 然而,一个奇怪的用户发现了一个问题,如果他们的事情以文件扩展名结束,他们将得到406响应。例如: /api/getStuff/myThing.txt /api/getS

为了这个问题,专有信息已被重命名/删除

我们有一个springrest端点
/api/getStuff/
,其中
由用户指定

在大多数情况下,一切都很好。用户请求
/api/getStuff/myThing
,他们得到一个包含
myThing
信息的json响应。更具体地说,响应的内容类型是
application/json;字符集=utf-8

然而,一个奇怪的用户发现了一个问题,如果他们的事情以文件扩展名结束,他们将得到406响应。例如:
/api/getStuff/myThing.txt
/api/getStuff/myThing.jpg
/api/getStuff/myThing.jar

所有这些都将返回406个响应。我可以看到后端服务器中的代码已成功运行并返回一个json对象。但当在浏览器中点击URL时,返回406,似乎除了给定类型的文件,而不是
application/json;字符集=utf-8

我已经阅读并尝试指定一个值为
application/json的Accept头;charset=utf-8
或只是
application/json
,但这似乎不起作用,仍然返回406

虽然我们不希望用户经常以文件名结束他们的工作,但我们不希望限制可能影响现有工作的命名约定

请注意,该端点用于web浏览器中的内部ajax调用,用户不会直接命中它,因此我们可以控制可以使用哪些标题

EDIT:刚刚确认请求已发送,标题为
Accept:application/json,text/javascript,*/*;q=0.01