一 页面跳转
知识点 1 如果是resousrces 新建的public 包内创建的公共页面 是可以直接跳转的 用网页直接跳转就行 不需要控制层 控制跳转
2 如果是resousrces 新建的templates里的包 俗称为安全文件夹 其内容只能通过控制层 控制跳转 否则只通过网址打不开
3 public 、static、templates 其实都是表示根路径 不需要另加二级目录
返回网址时 就不用加@ResponseBody 了 否则无论写什么,真就返回一串字符串
加redirect: 的意思是跳转网页(访问公共网址时才需要 访问安全网址时不需要)
跳转方法:
1 访问安全页面
@RequestMapping("/showTemplateHtml")
public String showTemplateHtml(){
/**
* 访问安全文件夹测试
* 直接在控制层文件如下代码即可 需注意 访问安全文件夹内的网页 不需要加redirect:
/
return “safedemo.html”;
}
2 访问公共网页
public String showPublicHtml(){
/*
* 测试 返回公共文件夹public 内的网页
* 1返回网址时 就不用加@ResponseBody 了 否则无论写什么,真就返回一串字符串
* 2 加redirect: 的意思是跳转公共网页
*/
return “redirect:/newdemo.html”;
}
二 RESTful风格
特别提醒:如果不是从资源考虑、对缓存的要求也不高,强烈建议不要采用RESTful风格的设计,至于原因,大家可以考虑有多查询条件的场景处理就明白是有多绕,你不是使用资源进行系统建模,不是以资源的角度来进行设计,自然遇到问题的时候就不会从资源的角度去考虑,最后和REST需要的资源第一位的观点冲突,把自己绕死,这种伪REST其实很要不得。
映射方式除了GetMapping、PostMapping,还有PutMapping、DeleteMapping ,这四种方式的作用如下:
PostMapping 用于增删改查的 增
GetMapping 用于增删改查的 查
PutMapping 用于增删改查的 改
DeleteMapping 用于增删改查的 删
RESTful 风格不要求对应的方法名一致 (当然普通也可以不一致 但建议是一致的)
RESTful 风格 说白了 就是传递参数一般用地址直接传 就是增删改查 参数接收用的方法有定义
提示:
在用Post测试RESTful风格的接口时,有别传统的方式,只需注意两点就行
1)参数的传递形式:不能带参数名称,直接在url后面带参数值就行,如下:
2)中文转码方式:Postman不能直接传中文值,中文值需要转码,如下
转码成功后,就可以点“Send”了,如下:
GET 查询 单参数
@GetMapping("/company/{com}")
@ResponseBody
public String query1(@PathVariable String com )
{
/**
* “{company}” 代表直接在网址上面传值 传的值变量名叫 company 最省事就是跟下面的形参一一对应
* PostMapping 用于增删改查的 增
* GetMapping 用于增删改查的 查
* PutMapping 用于增删改查的 改
* DeleteMapping 用于增删改查的 删
* 虽说是这么定义的 但可以不遵守 只是一个获取值的方法 但这个是个风格 如果不遵守还不如不用
* GET 查询 单参数
*/
return com;
}
PUT 更改 双参数 一定记得postman的提交方式也要跟着变化
两个参数就要有两个注解
@PutMapping("/acfun/{comaddress}/{comname}")
@ResponseBody
public String query2(@PathVariable String comaddress ,@PathVariable String comname){
csi.updateByName(comaddress,comname);
return "comaddress:"+comaddress+",comname:"+comname;
}