- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
抱歉,我没有看到 java-noob 的标签。
我在 Spring 中使用现有的 Restful api。我的任务是添加一个带有几个实用方法的新 api,每个方法都返回一个字符串。到目前为止,一切都很好。一切都运转良好。
我添加了一个简单的包装器来将字符串作为对象返回,并且我能够构建/部署/测试,并返回我的响应,如下所示
{ id: "12345" }
如果我指定 Accept header = application/xml
我会收到以下异常:
org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
这个包中的其他方法似乎在 xml 和 json 中都可以很好地序列化。我没有看到 Controller 基础中使用任何自定义序列化代码,并且我不知道它在哪里处理(或者它是否与序列化相关)。 有人可以帮我弄清楚从哪里开始寻找吗?
这是我的[简化] Controller :
@Controller
public class UtilController extends ControllerBase
{
@XmlRootElement(name="util_response")
public static class UtilResponse extends APIResponseBase
{
private String id;
@XmlElement(name="id")
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
}
@RequestMapping(value = "/{pid}/util/output", method = RequestMethod.GET)
@ResponseBody
public UtilResponse output(HttpServletResponse httpResponse,
@PathVariable("pid") int pid,
@RequestParam(value = "id", required=true) String id) throws Exception
{
UtilResponse utilResponse = new UtilResponse();
utilResponse.setId(id);
return utilResponse;
}
}
我还尝试更新 @RequestMapping
并添加 products = "application/xml"
(是的,显然不知道这到底是做什么的),但是效果为零.
说真的,我对所有这些 java 东西如何“工作”(.net dev by trade)真的很陌生,并且很想了解更多。我不知道 Jackson
是什么,但我在我们的项目中没有看到对它的引用,并且其他所有内容似乎都有效,因此请不要回复说“你为什么不直接使用 Jackson? ”我也有最后期限,所以有时优先考虑的是让它发挥作用。
最佳答案
please no responses that say "Why don't you just use Jackson?
没有人会这么说。 Jackson 适用于 JSON
;)
produces = "application/xml" ..., but that had zero effect
products
将处理程序方法限制为提供的类型。因此,products="application\xml"
使得该方法对于需要 JSON
的请求不可用,例如它不会改变方法的结果。
您对问题的描述表明 Spring 无法找到将 UtilResponse
序列化为 XML
的方法。最可能的原因是类路径中不存在 JAXB2
。 Spring 默认使用它来创建 XML
。
关于java - 在 Accept header 中指定 application/xml 时出现 HttpMediaTypeNotAcceptableException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17582373/
我有一个客户端正在尝试连接的 API。但是它会抛出错误: 2015 09 22 04:21:44.297 [org.springframework.web.servlet.mvc.method.ann
我的 jQuery 函数有问题,我想实现的是在列表框中填充数据 JavaScript 函数 function load() { $.getJSON('${findAdminGroups
当客户端请求资源产生 application/json 内容时,带有 application/xml 的 Accept Header。请求因 HttpMediaTypeNotAcceptableExc
我是 Spring 开发新手,正在尝试学习。安装了 Netbeans 11.1 并克隆了此 git repository并试图让这个 VideoController 通过。 我很惊讶为什么 testA
我有一个简单的 web 服务,它以 json 或 plain text 形式返回内容(取决于客户端的 accept http header )。 问题:如果在 text/plain 请求期间发生错误,
在使用 Spring MVC 和 JSON 时,我不断收到 AJAX 请求的此 HttpMediaTypeNotAcceptableException 错误。错误的完整堆栈跟踪是.. org.spr
我尝试在发送 GET 请求时返回 JSONObject。 方法 @RequestMapping(value = "/{businessId}/{orderId}/{reportId}", meth
我有 Spring Rest Controller ,如下: @RestController @RequestMapping(value = "/v1/files") public class Dat
我有一个用 @ControllerAdvice 注释的类,其中有这个方法: @ExceptionHandler(ResourceNotFoundException.class) @ResponseSt
我有一个 Spring 3.2 MVC REST 服务,它通过扩展 ResponseEntityExceptionHandler 来实现错误处理。这处理 standard Spring excepti
我的 Controller 中有以下图片下载方法(Spring 4.1): @RequestMapping(value = "/get/image/{id}/{fileName}", method=R
我正在开发一个 Controller ,为我的用户提供数据拉取的 CSV 下载,并且我有一个对象、 Controller 和 HttpMessageConverter,它们基于此处非常有用的帖子:ht
将我的 Spring MVC 应用程序升级到 Spring 3.2 后,我在访问某些 URL 时遇到以下异常: org.springframework.web.HttpMediaTypeNotAcce
我调用 JSON 的方式如下: $(function() { $("select#accountsubgroupid").change(function() {
抱歉,我没有看到 java-noob 的标签。 我在 Spring 中使用现有的 Restful api。我的任务是添加一个带有几个实用方法的新 api,每个方法都返回一个字符串。到目前为止,一切都很
我正在尝试从 Spring Controller 获取 json 响应。我遇到异常 org.springframework.web.HttpMediaTypeNotAcceptableExceptio
我尝试从 Spring Boot RestController 生成 xml 格式的数据。下面首先是用户模型代码。 @Entity @Table(name="BlogUser") @XmlRootE
我正在使用 java springboot 和 Angular 7 开发聊天应用程序。我在 spring boot 和 Angular 中使用事件。我正在尝试在 Spring Boot 中生成事件,以
我正在使用 springMVC 并且在尝试进行更新时出现以下异常。 10:10:49,847 DEBUG LogicalConnectionImpl:250 - Released JDBC conne
这个问题在这里已经有了答案: HttpMediaTypeNotAcceptableException: Could not find acceptable representation in exce
我是一名优秀的程序员,十分优秀!