@产生的({quot;应用程序/x-javascript})在SpringMVC4.0.5.0版本中不起作用
我已经创建了一个spring应用程序,我也在使用webservices 我想使用jsonp回调函数,其媒体类型应为{“application/x-javascript”}。这似乎不起作用。它返回的是json对象,而不是javascript。 这是密码@产生的({quot;应用程序/x-javascript})在SpringMVC4.0.5.0版本中不起作用,javascript,json,rest,spring-mvc,spring-annotations,Javascript,Json,Rest,Spring Mvc,Spring Annotations,我已经创建了一个spring应用程序,我也在使用webservices 我想使用jsonp回调函数,其媒体类型应为{“application/x-javascript”}。这似乎不起作用。它返回的是json对象,而不是javascript。 这是密码 @RequestMapping(value = "widget", method = RequestMethod.GET) @Produces({"application/x-javascript"}) public @ResponseBo
@RequestMapping(value = "widget", method = RequestMethod.GET)
@Produces({"application/x-javascript"})
public @ResponseBody JSONWithPadding displayWidgetPage(Model model, HttpServletResponse
response,HttpServletRequest request)
{
String callback = request.getParameter("callback");
PointsInfo pointsInfo =new PointsInfo();
pointsInfo.setUsername("json");
return new JSONWithPadding(pointsInfo,callback);
}
我使用rest客户端进行了检查
它说内容类型是:content-type:application/json;字符集=UTF-8
它必须是:内容类型:application/javascript;charset=UTF-8我认为你把Jersey's和Spring MVC混为一谈,Jersey's@products在那里不会起任何作用 如果您正在寻找一种只使用SpringMVC实现JSON-p的方法,请看 或者如果您能够升级到4.1或更高版本
您使用的是早于3.1.1.0版本的Spring版本。如果您希望设置响应的媒体类型,它应该位于RequestMapping注释中,如下所示:
@RequestMapping(value = "/list/rideLogs/{rideId}", method = RequestMethod.POST,
produces = YOUR_MEDIA_TYPE)
也就是说,application/javascript不是Spring的有效媒体类型。您可以引用MediaType类的值
它应该与MediaType类中预定义的媒体类型一起使用