HTTP状态415 - 执行POST时不支持的媒体类型

时间:2015-05-13 02:27:11

标签: spring rest java-ee jersey jax-rs

所以我试图在Chrome中使用REST setTimeout(function(){ var parent = $('#panel'); var element = $('<div></div>'); var script = document.createElement('script'); script.setAttribute('type','math/tex'); script.textContent = 'e^{\\pi i} + 1 = 0'; element.append(script); parent.append(element); MathJax.Hub.Queue(["Typeset",MathJax.Hub]); }, 1500); 进行POST,但是在我点击后发送错误

  

HTTP状态415 - 不支持的媒体类型

我的代码和屏幕截图的一部分已包含在内,我尝试的Postman对是hashmapduration。我确定网址是正确的,但不知道为什么不接受媒体类型。

150

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:2)

是的,正如我所怀疑的,FormMultivaluedMapProvider(处理[super initWithContentViewController:...] 内容类型的initWithData:(MyDataObject*)data // examine data object and determine what kind // of UIViewController to create and present // // [super initWithContentViewController:myDecidedContentViewController 阅读仅允许array = array.map.with_index { |item, index| "#{index} - #{item}" } MultivaluedMap,而不是application/x-www-form-urlencoded {1}},就像你一样。

这是isReadable的源代码(当运行时查找MultivaluedMap<String, String>来处理Java / Content-Type类型的组合时调用它。

MultivaluedMap

正如旁注,在写作方面,这是一个不同的故事,你可以看到isWriteable方法,使用MultivaluedHashMap,如果MessageBodyReader有,你就可以使用@Override public boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) { // Only allow types MultivaluedMap<String, String> and MultivaluedMap. return type == MultivaluedMap.class && (type == genericType || mapType.equals(genericType)); } 作为方法参数。

isAssignableFrom