##本文章仅为个人学习记笔记所用,如果对您有用,我将非常高兴,如有错误,麻烦您能在评论或加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。