0
点赞
收藏
分享

微信扫一扫

SpringMVC-RESTful快速开发及案例:基于RESTful页面数据交互


目录

​​一、RESTful快速开发​​

​​二、案例:基于RESTful页面数据交互​​

​​1、制作SpringMVC控制器,并通过PostMan测试接口功能​​

​​2、设置对静态资源的访问放行​​

​​3、前端页面通过异步提交访问后台控制器​​

一、RESTful快速开发

名称:@RestController

类型:类注解

位置:基于SpringMVC的RESTful开发控制器类定义上方

作用:设置当前控制器类为RESTful风格,等同于@Controller与@ResponseBody两个注解组合功能

范例:

​@RestController public class BookController{ }​

名称:@GetMapping @PostMapping @PutMapping @DeleteMapping

类型:方法注解

位置:基于SpringMVC的RESTful开发控制器方法定义上方

作用:设置当前控制器方法请求访问路径与请求合作,每种对应一个请求动作,例如@GetMapping对应Get请求

范例:

​@GetMapping("/{id}") public String getById(@PathVariable Integer id){ System.out.println("book getById..." + id); return "{'module':'book getById'}"; }​

属性:value(默认):请求访问路径

简化开发前:

SpringMVC-RESTful快速开发及案例:基于RESTful页面数据交互_java

 简化开发后:

@RestController
@RequestMapping("/books")
public class BookController{

@PostMapping
public String save(@RequestBody Book book){
System.out.println("book save..." + book);
return "{'module':'book save'}";
}

@PutMapping
public String update(@RequestBody Book book){
System.out.println("book update..." + book);
return "{'module':'book update'}";
}
}

二、案例:基于RESTful页面数据交互

1、制作SpringMVC控制器,并通过PostMan测试接口功能

@RestController
@RequestMapping("/books")
public class BookController {

@PostMapping
public String save(@RequestBody Book book){
System.out.println("book save ==> "+ book);
return "{'module':'book save success'}";
}

@GetMapping
public List<Book> getAll(){
System.out.println("book getAll is running ...");
List<Book> bookList = new ArrayList<Book>();

Book book1 = new Book();
book1.setType("计算机");
book1.setName("SpringMVC入门教程");
book1.setDescription("小试牛刀");
bookList.add(book1);

Book book2 = new Book();
book2.setType("计算机");
book2.setName("SpringMVC实战教程");
book2.setDescription("一代宗师");
bookList.add(book2);

Book book3 = new Book();
book3.setType("计算机丛书");
book3.setName("SpringMVC实战教程进阶");
book3.setDescription("一代宗师呕心创作");
bookList.add(book3);

//模拟数据
return bookList;
}

}

2、设置对静态资源的访问放行

@Configuration
public class SpringMvcSupport extends WebMvcConfigurationSupport {
//设置静态资源访问过滤,当前类需要设置为配置类,并被扫描加载
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
//当访问/pages/????时候,从/pages目录下查找内容
registry.addResourceHandler("/pages/**").addResourceLocations("/pages/");
registry.addResourceHandler("/js/**").addResourceLocations("/js/");
registry.addResourceHandler("/css/**").addResourceLocations("/css/");
registry.addResourceHandler("/plugins/**").addResourceLocations("/plugins/");
}
}

3、前端页面通过异步提交访问后台控制器

 //添加
saveBook () {
axios.post("/books",this.formData).then((res)=>{

});
},

//主页列表查询
getAll() {
axios.get("/books").then((res)=>{
this.dataList = res.data;
});
},

执行结果:

主页列表查询:

SpringMVC-RESTful快速开发及案例:基于RESTful页面数据交互_java_02

 添加功能:

SpringMVC-RESTful快速开发及案例:基于RESTful页面数据交互_mvc_03

 

SpringMVC-RESTful快速开发及案例:基于RESTful页面数据交互_测试工具_04

举报

相关推荐

0 条评论