[英]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.