Springboot 学习

创建一个SpringBoot项目 勾选web场景

1. 静态资源访问

1.1 类路径下的 static,public, resources 或是 META-INFO/resources 都可以访问

当前项目根路径 + / 静态资源名

如controller中访问路径名恰好和静态资源名一致,先访问controller路径

1.2 可以通过static-path-pattern指定静态资源路径 

2. 欢迎页welcome page

2.1 static 文件夹下新建index.html

2.2 编写controller处理index请求

注:前后端分离 一般不考虑静态资源和欢迎页情况

todo 25-28 47源码分析

3. 常用参数注解使用

3.1 路径变量 @pathvariable 路径上的变量可以被动态替换 如/addresource/{id}/resource/{name}

3.2 获取请求参数 @requestParam 在访问各种各样的网站时,经常会发现网站的URL的最后一部分形如:?xx=yy&zz=ww  不同参数之间用&分隔,每个参数形如name=value的形式,分别表示参数名字和参数值   

3.3 区别与联系

@RequestParam和@PathVariable都能够完成类似的功能——因为本质上,它们都是用户的输入,只不过输入的部分不同,一个在URL路径部分,另一个在参数部分。要访问一篇博客文章,以下两种URL设计都是可以的

  • 通过@PathVariable,例如/blogs/1
  • 通过@RequestParam,例如blogs?blogId=1

 那么究竟应该选择哪一种呢?建议:

1、当URL指向的是某一具体业务资源(或资源列表),例如博客,用户时,使用@PathVariable

2、当URL需要对资源或者资源列表进行过滤,筛选时,用@RequestParam

例如我们会这样设计URL:

  • /blogs/{blogId}
  • /blogs?state=publish而不是/blogs/state/publish来表示处于发布状态的博客文章

一旦我们在方法中定义了@RequestParam变量,如果访问的URL中不带有相应的参数,就会抛出异常——这是显然的,Spring尝试帮我们进行绑定,然而没有成功。但有的时候,参数确实不一定永远都存在,这时我们可以通过定义required属性:

@RequestParam(value = "id", required = false)

当然,在参数不存在的情况下,可能希望变量有一个默认值:

@RequestParam(value = "id", required = false, defaultValue = "0")

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值