如何做关于网站推广的培训,WordPress安装aplayer,wordpress无法连接数据库连接,h5前端开发背景#xff1a;在开发实践中#xff0c;如果没有明确的规定URL#xff0c;可以参考#xff1a;
传统接口 获取数据列表,固定接口路径#xff1a;/数据类型的复数 例如#xff1a;/albums/select RESTful接口 - 根据ID获取某条数据#xff1a;/数据类型的复数/{id} - 例…背景在开发实践中如果没有明确的规定URL可以参考
传统接口 获取数据列表,固定接口路径/数据类型的复数 例如/albums/select RESTful接口 - 根据ID获取某条数据/数据类型的复数/{id} - 例如/albums/select/{id:[0-9]} - 根据ID对某条数据执行某种操作/数据类型的复数/{id}/命令或/数据类型的复数/{id}/数据属性/命令 - 例如/albums/{id:[0-9]}/delete
Spring MVC框架很好的支持了RESTful在设计URL时可以使用{自定义名称}的占位符表示此处应该是某个参数值在此请求参数上使用PathVariable注解例如
1.URL占位符设计接口
PostMapping(/{id}/delete)
public ??? delete(PathVariable Long id) {// 暂不关心方法的实现
}或者 如果占位符中的名称和请求参数的名称不一致需要在PathVariable注解中配置占位符名称
PostMapping(/{id}/delete)
public ??? delete(PathVariable(id) Long albumId) {// 暂不关心方法的实现
}实际效果
当设计成以上格式则客户端提交请求时占位符位置无论是什么值都可以匹配上以上设计的路径注意如果客户端提交的请求路径中占位符位置的内容无法被转换成String类型时将出现400错误。
2.URL正则设计接口
在设计占位符时可以在占位符名称的右侧、在右大括号的左侧添加1个冒号并在冒号的右侧可以添加正则表达式以限制参数值的基本格式例如
PostMapping(/{id:[0-9]}/delete)
public ??? delete(PathVariable Long id) {// 暂不关心方法的实现
}如果客户端提交的请求路径中占位符位置的内容不匹配以上正则表达式时将出现404错误。 另外使用了占位符及互斥的正则表达式的配置是允许共存的例如
Get(/{id:[0-9]})
public ??? getStandardById(PathVariable Long id) {// 暂不关心方法的实现
}Get(/{name:[a-z]})
public ??? getStandardByName(PathVariable String name) {// 暂不关心方法的实现
}注意 如果以上两个方法的占位符值都是纯数字的那么一个url将可以匹配以上2个正则表达式 则Spring MVC框架无法选取将出现错误
3.URL占位符跟传统接口共存优先使用精准匹配的传统接口
另外不使用占位符的配置与使用了占位符的配置是允许共存的例如
Get(/{name:[a-z]})
public ??? getStandardByName(PathVariable String name) {// 暂不关心方法的实现
}Get(/test)
public ??? testStandardByName(String name) {// 暂不关心方法的实现
}当提交了对应 /test 的请求时会执行以上第2个方法即精准匹配的方法而不会执行使用了占位符的方法。
创造价值乐哉分享 一起入门后端 204146007