今天帮朋友改一个代码,前台一直报406 进network里看的时候
显示如下
问题大概清楚了,结尾是伪.html,方法的mapping也是html 代码太乱,不想看
@RequestMapping(value = "modif.html", method = RequestMethod.POST) // 第二级URL
public @ResponseBody Map<String, Object> modiyQuestion(@RequestBody Question question) {
Map<String, Object> result = null;
if (!question.getModifyid().equals("")) {
switch (question.getModifypoint()) {
case "XZT":
// 搜索前台传入id,并从数据库取出具体数据
SelectionQuestion selectionQuestion = selectionQuestionService
.searchSelectionQuestionById(Integer.parseInt(question.getModifyid()));
if (selectionQuestion != null) {
// 把查询到的数据返回给前台
result = new HashMap<String, Object>();
result.put("msg", selectionQuestion);
result.put("classes", "XZT");
}
return result;
case "TKT":
FillQuestion fillQuestion = fillQuestionService
.searchFillQuestionById(Integer.parseInt(question.getModifyid()));
if (fillQuestion != null) {
result = new HashMap<String, Object>();
result.put("msg", fillQuestion);
result.put("classes", "TKT");
}
return result;
case "PDT":
JudgementQuestion judgementQuestion = judgementQuestionService
.searchJudgementQuestionById(Integer.parseInt(question.getModifyid()));
if (judgementQuestion != null) {
result = new HashMap<String, Object>();
result.put("msg", judgementQuestion);
result.put("classes", "PDT");
}
return result;
case "WDT":
EssayQuestion essayQuestion = essayQuestionService
.searchEssayQuestionById(Integer.parseInt(question.getModifyid()));
if (essayQuestion != null) {
result = new HashMap<String, Object>();
result.put("msg", essayQuestion);
result.put("classes", "WDT");
}
return result;
default:
System.out.println("匹配出错");
break;
}
}
return result;
}
解决方案:在入口处增加*.json的访问方式
<servlet-mapping>
<servlet-name>seckill-dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>seckill-dispatcher</servlet-name>
<url-pattern>*.json</url-pattern>
</servlet-mapping>
将url和mapping都改为.json
重启服务,
成功进入success回调方法。完