我一直在处理我的第一个Web服务应用程序,我需要解析/替换ModelAndView
。
我想将网页与应用程序文件和建议分开保存?
class ModelAndView
Web MVC框架中的Model和View的持有者。请注意,这些完全不同。这个类只是为了使控制器能够在单个返回值中返回模型和视图。
表示由处理程序返回的模型和视图,由DispatcherPortlet解析。视图可以采用String视图名称的形式,需要由ViewResolver对象解析;或者,可以直接指定视图对象。该模型是一个Map,允许使用按名称键入的多个对象。
答案 0 :(得分:0)
1)首先从控制器层删除以下代码:
@Bean
public MultipartResolver multipartResolver() {
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
multipartResolver.setMaxUploadSize(10240000);
return multipartResolver;
}
创建一个java文件,说ProductConfig用@Config注释它,并在其中包含所有配置方法,如multipartResolver()。
2)来到您的问题,您可以将结果作为JSON响应发送而不是 使用ModelAndView 例如:
@RequestMapping("getProductById/{productId}")
public @ResponseBody getProductById(@PathVariable(value = "productId") String productId) {
Product product = productService.getProductById(productId);
return product;
}
现在这个API返回一个json响应。
在前端,你可以使用像角度js这样的框架。 Angular提供了诸如路由之类的功能,可以帮助您进行导航。 理想情况下,不应在java层处理所有前端导航
答案 1 :(得分:0)
如果您的计划是为前端运行单独的服务器,请确保enable CORS。
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/greeting-javaconfig").allowedOrigins("http://localhost:9000");
}
};
}