簡體   English   中英

帶有Spring Boot的RESTful Web服務

[英]A RESTful Web Service with Spring Boot

我一直在開發我的第一個Web Service應用程序,並且需要學習/替換ModelAndView

我想將網頁與應用程序文件分開保存,並且有何建議?

ModelAndView類

Web MVC框架中的Model和View的持有人。 請注意,這些完全不同。 此類僅持有兩者,以使控制器可以在單個返回值中返回模型和視圖。

表示要由DispatcherPortlet解析的處理程序返回的模型和視圖。 該視圖可以采用String視圖名稱的形式,該名稱需要由ViewResolver對象解析; 或者,可以直接指定視圖對象。 該模型是一個Map,允許使用按名稱鍵控的多個對象。

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響應。

在前端,您可以使用諸如angular js之類的框架。 Angular提供了諸如路由之類的功能,可以幫助您導航。 理想情況下,不應在Java層處理所有前端導航

如果您打算為前端運行單獨的服務器,請確保啟用CORS

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM