带有Spring Boot的RESTful Web服务

时间:2017-07-13 21:09:34

标签: spring rest

我一直在处理我的第一个Web服务应用程序,我需要解析/替换ModelAndView

我想将网页与应用程序文件和建议分开保存?

  

class ModelAndView

     

Web MVC框架中的Model和View的持有者。请注意,这些完全不同。这个类只是为了使控制器能够在单个返回值中返回模型和视图。

     

表示由处理程序返回的模型和视图,由DispatcherPortlet解析。视图可以采用String视图名称的形式,需要由ViewResolver对象解析;或者,可以直接指定视图对象。该模型是一个Map,允许使用按名称键入的多个对象。

2 个答案:

答案 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");
        }
    };
}