我正在使用关于Spring Framework
的{{1}}。
我有关于Rest
是request
且GET
是Accept
还是empty
时的测试情况。
与以下内容密切相关:
我已阅读以下内容:
如果解决方案有效,请参阅以下选项:
null
400 Bad Request
406 Not Acceptable
的{{1}}或empty
值null
而不是<{1}} 有三个选项,这就是这篇文章的原因。
在两者之间,我认为更合适Accept
,因为*/*
的特定或紧。我的意思是媒体类型代表406 Not Acceptable
或Accept
?它不是已知的媒体类型,例如empty
或null
第三种选择似乎不合逻辑,根据以下几点(根据我自己的观点,也许我错了或遗漏了某些东西):
服务器有xml
的处理程序方法,可返回json
或GET
,例如:
XML
客户 应该从头开始明确表示它会执行json
并处理@GetMapping(path="/{id}",
produces={MediaType.APPLICATION_XML_VALUE, MediaType.APPLICATION_JSON_UTF8_VALUE})
public @ResponseBody Persona findOneById(@PathVariable String id){
return personaService.findOneById(id);
}
request
或根据{{1}}发送的response
,XML
。
因此,出于任何原因,如果发送的json
具有Accept
如何request
(假设错误的编码),那么这是第三点({ {1}})我无法理解:&#34;让服务器返回任何媒体类型&#34 ;;即便如此,我们假设服务器返回request
而客户端只能处理Accept
,但当然empty
如何*/*
未指定XML
开始。所以客户端一旦收到JSON
就会收到异常,但是观察到服务器不必要地完成了工作
因此:如何在空或空时正确处理HTTP Accept标头?