使用Spring Boot的RESTful Web服务

使用Spring Boot的RESTful Web服务,spring,rest,Spring,Rest,我一直在开发我的第一个Web服务应用程序,我需要搜索/替换ModelAndView 我想把网页与应用程序文件分开保存,还有建议 类模型和视图 web MVC框架中模型和视图的持有者。请注意,这些是完全不同的。该类仅保存这两个属性,以便控制器可以在单个返回值中同时返回模型和视图 表示处理程序返回的模型和视图,由DispatcherPortlet解析。视图可以采用字符串视图名称的形式,该名称需要由ViewResolver对象解析;或者,可以直接指定视图对象。该模型是一个映射,允许使用按名称键入的多个

我一直在开发我的第一个Web服务应用程序,我需要搜索/替换
ModelAndView

我想把网页与应用程序文件分开保存,还有建议

类模型和视图

web MVC框架中模型和视图的持有者。请注意,这些是完全不同的。该类仅保存这两个属性,以便控制器可以在单个返回值中同时返回模型和视图

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

1) 首先,从控制器层删除以下代码:

 @Bean
    public MultipartResolver multipartResolver() {
         CommonsMultipartResolver multipartResolver = new                    CommonsMultipartResolver();
        multipartResolver.setMaxUploadSize(10240000);
        return multipartResolver;
    }
让一个java文件说ProductConfig用@Config注释它,并在其中包含所有配置方法,如multipartResolver()

2) 对于您的问题,您可以将结果作为JSON响应而不是 使用ModelAndView 例如:

现在,这个API返回一个json响应

在前端,您可以使用一些框架,比如AngularJS。 Angular提供了路由等功能,可帮助您导航。
理想情况下,所有前端导航都不应该在java层处理

如果您的计划是为前端运行一个单独的服务器,那么请确保

@RequestMapping("getProductById/{productId}")
    public @ResponseBody getProductById(@PathVariable(value = "productId") String productId) {
        Product product = productService.getProductById(productId);
        return product;
}
@Bean
public WebMvcConfigurer corsConfigurer() {
    return new WebMvcConfigurerAdapter() {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/greeting-javaconfig").allowedOrigins("http://localhost:9000");
        }
    };
}