您好我正在使用Spring MVC。在我的控制器中,我期待表单数据
@RequestMapping(value = "/get/data/grid", method = RequestMethod.POST)
public ModelAndView getData(@RequestBody DataGrid dataGrid) { }
但我收到此HttpMediaTypeNotSupportedException: Content type 'application/json' not supported
错误。我很好奇它可能是因为我的formbean对象中的HsshMap DataGrid
这就是这个对象的样子:
public class DataGrid implements Serializable{
/**
*
*/
private static final long serialVersionUID = 5979434283059930104L;
private String transactionAction;
private String transactionDate;
private List<GridColumn> columns;
private List<Map<GridColumnName,Object>> rows;
public Grid(){
this.columns = new ArrayList<GridColumn>();
this.rows = new ArrayList<Map<GridColumnName,Object>>();
}
...getter setter here
答案 0 :(得分:0)
除了返回ResponseEntity之外,我遇到了完全相同的问题。我尝试了很多解决方案,但没有一个有效。添加了Jackson ASL依赖项和<mvc:annotationDriven />
,但没有解决我的问题(虽然<mvc:annotationDriven />
是强制性的)。然后找到以下链接:
在pom.xml中添加以下依赖项重新解决了我的问题,这真是太棒了!
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.3.2</version>
</dependency>
答案 1 :(得分:0)
在调用Java方法时,在JS中编写以下代码:
var xhttp = new XMLHttpRequest();
xhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");