【问题标题】:A RESTful Web Service with Spring Boot带有 Spring Boot 的 RESTful Web 服务
【发布时间】:2017-07-13 21:09:34
【问题描述】:

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

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

ModelAndView 类

Web MVC 框架中模型和视图的持有者。请注意,这些是完全不同的。此类仅包含两者以使控制器可以在单个返回值中返回模型和视图。

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

【问题讨论】:

    标签: spring rest


    【解决方案1】:

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

     @Bean
        public MultipartResolver multipartResolver() {
             CommonsMultipartResolver multipartResolver = new                    CommonsMultipartResolver();
            multipartResolver.setMaxUploadSize(10240000);
            return multipartResolver;
        }
    

    制作一个 java 文件,说 ProductConfig 用 @Config 注释它,并在其中包含所有配置方法,如 multipartResolver()。

    2) 提出您的问题,您可以将结果作为 JSON 响应发送,而不是 使用模型和视图 示例:

    @RequestMapping("getProductById/{productId}")
        public @ResponseBody getProductById(@PathVariable(value = "productId") String productId) {
            Product product = productService.getProductById(productId);
            return product;
    }
    

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

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

    【讨论】:

      【解决方案2】:

      如果您的计划是为前端运行单独的服务器,请确保您使用enable CORS

      @Bean
      public WebMvcConfigurer corsConfigurer() {
          return new WebMvcConfigurerAdapter() {
              @Override
              public void addCorsMappings(CorsRegistry registry) {
                  registry.addMapping("/greeting-javaconfig").allowedOrigins("http://localhost:9000");
              }
          };
      }
      

      【讨论】:

        猜你喜欢
        • 2018-10-25
        • 2015-03-05
        • 2016-11-18
        • 2015-03-10
        • 1970-01-01
        • 1970-01-01
        • 2014-09-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多