基于springboot后端速成第一阶段

##本文章仅为个人学习记笔记所用,如果对您有用,我将非常高兴,如有错误,麻烦您能在评论或加q:2056351343中指出,请勿恶语相向,谢谢##

1.环境搭建IDEA编译器

IDEA下载地址:Download IntelliJ IDEA – The Leading Java and Kotlin IDE
两个版本:旗舰版(ULtimate) 社区版(Community)社区版免费

下载后选择路径安装后勾选

最后什么都不用勾选点击install即可

2.IDEA学习

对于创建的默认配置文件夹

1处是主函数,程序的入口

2处是所需的配置文件

##定义访问接口##

//添加配置java文件之后再在java文件中操作
//添加注解,注解之后会自动导入所需模块
@RestController                              //接口风格是restful,加了这一行编译器会帮我们检查
@RequestMapping('一级资源名称')
public class test01
{
@GetMapping('二级资源名称')
public string list()                         //string方法
{
     return "我嘞个豆";
}
}

其中http协议里面有4个类似方法:类似于增删改查了哈哈哈(string是返回值)

1.GET                        //获取

2.POST                      //提交

3.DELETE                 //删除

4.PUT/PATCH            //修改

##接口测试##

postman

为什么要用postman:前端没有实现的时候,因为浏览器默认请求是get,而我们后端的请求有以上四种,如果用浏览器测试,只能得到get请求里面的数据,而不能得到其他方法其他数据

##前端向后端传递参数##

1.地址传参数eg:原来的 http://localhost:8080/one/two

                             传参后 http://localhost:8080/one/two?pagNum=5&pageSize=100

传到接口处是:现在数

​
//添加配置java文件之后再在java文件中操作
//添加注解,注解之后会自动导入所需模块
@RestController                              //接口风格是restful,加了这一行编译器会帮我们检查
@RequestMapping('一级资源名称')
public class test01
{
@GetMapping('二级资源名称')
public string list(int pageNum,int pageSize)//string方法,即我们应该是pagesize条第pagenum列
{
     return "我嘞个豆";
}
}

​

据是100条为1页的标准来分,然后我们现在需要查询第五页的内容//(string是返回值)

2.另一种常见的传参方法

2.1其中GET     DELETE常用的方法如下

原来的 http://localhost:8080/one/two

传参后 http://localhost:8080/one/two/123                   //此处的123作为id传入下方

​
​
//添加配置java文件之后再在java文件中操作
//添加注解,注解之后会自动导入所需模块
@RestController                              //接口风格是restful,加了这一行编译器会帮我们检查
@RequestMapping('一级资源名称')
public class test01
{
@GetMapping('二级资源名称/{id}')              //此处id可以为数字或者一大串字符
//还是以get方法为例
public string list(@PathVariable int id)     //添加注解保证id值取出来后作为这个的参数id
{
     return "我嘞个豆";
}
}

​

​

2.1其中post  PUT常用的方法如下

、其中前端传过来的数据以json格式为例(在body里面)

{

"name":"张三","description":"100"

}

​
​
​
//添加配置java文件之后再在java文件中操作
//添加注解,注解之后会自动导入所需模块
@RestController                              //接口风格是restful,加了这一行编译器会帮我们检查
@RequestMapping('一级资源名称')
public class test01
{
@PostMapping('二级资源名称/{id}')              //此处id可以为数字或者一大串字符
//还是以get方法为例
 public string list(@RequestMBody String name,String description)     
//添加注解保证id值取出来后作为这个的参数id
{
     log.info("{}-{}",name,description);       //此处需要添加一个组件
     return "我嘞个豆";
}
}

​

​

​

同理,只要数据类型相同 name也可以是(class) person.name来获取前端传过来的值(注意类声明的时候要加个public,而且前端传递以json的形式

3.后端向前端返回json数据

//新创建一个类命名为person
public class person               //注意此处必须是public不然返回值会为null
{
public string name;
public int age;
}

这个类就是我们要返回的数据类

​
​
​
​
​
//添加配置java文件之后再在java文件中操作
//添加注解,注解之后会自动导入所需模块
@RestController                              
@RequestMapping('一级资源名称')
public class test01
{
@GetMapping('二级资源名称/{id}')               //前端从后端获取资源
 public person list(@RequestMBody String name,String description)     
//添加注解保证id值取出来后作为这个的参数id
{
     var person1=new person();                //var表示弱数据类型
     person1.name="sunwukong";
     person1.age=10000000;
     return person1;
}
}

​//注意如若后端传入前端的是一个类,springboot会自动把这个类转换成json格式的字符串
//这个转换得益于前面声明的RestController注解
​

​

​

​

防止代码冗余,我们写出最终代码如下:

4.大总结

//第一个类
public class person
{
    public string name;
    public int    age;
}
//第二个类
public class Result<T>              //泛型类似于c++里面的模板
{
 public string msg;                 //用于提示报错信息  
 public int    code;                //成功则返回1,失败则其他
 public T      data; 
 private Result(string suc,int code,T data)
{
  this.msg=suc;
  this.code=code;
  this.data=data;
}
 public static<T> Result success()  //这个写不用传参数的
{
  Result r=new Result(msg:"suc",code:0,null);
  return r;
}
public static<T>  Result success(T data)
{
  Result r=new Result(msg:"suc",code:1,data);
  return r;
}
}

//添加配置java文件之后再在java文件中操作
//添加注解,注解之后会自动导入所需模块
@RestController                              
@RequestMapping('一级资源名称')
public class test01
{
@GetMapping('二级资源名称/{id}')               //前端从后端获取资源
 public Result list(int pageNum,int pageSize) //==当然这里要加defauvalue==  
{
     var person1=new person();                //var表示弱数据类型
     person1.name="sunwukong";
     person1.age=10000000;
     var person2=new person();               
     person2.name="zhubajie";
     person2.age=8000;
     List personlist=new ArrayList<person>();
     personlist.add(person1);
     personlist.add(person2);
     return Result.success(personlist);       //return后面就是传给前端的值
}
@GetMapping('二级资源名称/{id}')               //通过id的方法从前端向后端发送数据
 public Result detail(@PathVariable int id)   
//添加注解保证id值取出来后作为这个的参数id
{
     var person=new person();                 //var表示弱数据类型
     person.name="list";
     person.age=200;
     return Result.success(person);           //return后面就是传给前端的值
}
@PostMapping("/二级资源目录")
 public Result add(@RequestBody person person1)//前端向后端传送的数值就是一个person对象  
{
     return Result.success();
}
@PutMapping("/二级资源目录")
 public Result add(@RequestBody person person1) //修改方法
{
     return Result.success();
}
}

​//注意如若后端传入前端的是一个类,springboot会自动把这个类转换成json格式的字符串
//这个转换得益于前面声明的RestController注解
​

//注意如果Mapper接口执行的时候出错,​把springboot版本降级或者把mybatis-plus升级试试

其中如果URL可以在客户端确定,那么就使用PUT,如果是在服务端确定,那么就使用POST,比如说很多资源使用数据库自增主键作为标识信息,而创建的资源的标识信息到底是什么只能由服务端提供,这个时候就必须使用POST。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值