记录跟着青戈学毕设,一切来源于B站up主 @程序员青戈
Http
百度百科:超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
通俗的说就是:http是使前端可以和后端连接的协议
http状态码
* 200:服务器成功返回网页
* 400:参数类型不匹配
* 401:请求要求身份验证 权限错误
* 404:请求的网页不存在 路由与后台定义不匹配 接口路径写错或参数写错了
* 405:接口请求不匹配 明明是Post请求却使用了Put请求来请求
* 500:后台错误 此时立刻去看后台控制台指出的错误是什么
* 503:服务器超时
URL
URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
URL一般由三部组成:
①协议(或称为服务方式)
②存有该资源的主机IP地址(有时也包括端口号)
③主机资源的具体地址。如目录和文件名等
Post接口(新增数据)
@PostMapping("/post") // /web/post
public Result post(Obj obj){
return Result.success(obj);
}
将对象内的属性(name)作为一个Params也叫url参数传过来的
放在url后面用?连接
http://localhost:8088/web/post?name=你好
多个数据用&连接
http://localhost:8088/web/post?name=你好&age=30
(新增的数据要在对象里也写上)
点击这个加上getter和setter
@PostMapping("/post") // /web/post
public Result post(Obj obj){
return Result.success(obj);
}
// 上面这样写,是url参数,并且url可以为空 注意此时提交的不是json
// 若要提交为json 需要加上注解@RequestBody 如post(@RequestBody Obj obj)
@PostMapping("/post_json") // /web/post
public Result post_json(@RequestBody Obj obj){
return Result.success(obj);
}
参数传输的错误类型
明明需要传json,而你传了url参数
所以400了
400:参数类型不匹配
Put接口(修改数据)
put和post很像,都是传输数据到后台,但是用途不一样,前者是用来修改,后者是用来提交数据新增,
@PutMapping("/put")
public Result put_json(@RequestBody Obj obj){
return Result.success(obj);
}
Delete接口(删除数据)
@DeleteMapping("/delete/{id}") //通常是根据ID删除 通过路径删除 http://localhost:8088/web/delete/1 /1 => /{id}
public Result delete(@PathVariable Integer id){
return Result.success(obj);
}
也可以通过json传递数据 可以实现批量删除
// 也可以通过json传递数据 可以实现批量删除
@DeleteMapping("/delete")
public Result delete_list(@RequestBody List<Integer> ids){
return Result.success(ids);
}
Get接口
用于请求访问已经被URL(统一资源标识符)识别的资源,可以通过URL传参给服务器。
在网页端通过地址访问只能发送get请求 即http://localhost:8088
否则默认会报405错误
@RestController
@RequestMapping("/web") //定义路由
public class WebController {
// @RequestMapping注释 表示这个方法是提供数据的 是一种请求方式 默认是get请求
@RequestMapping("/hello") // /web/hello
// 上面这条get请求可简写为@GetMapping
// @RequestMapping(method = RequestMethod.GET) //常规写法
public Result hello(String name){
return Result.success(name);
}
GET和POST的区别
-
Get重点在从服务器上获取资源,Post重点在向服务器发送数据;
-
Get传输数据是通过URL请求,以field(字段)=
value的形式,置于URL后,并用”?”连接,多个请求数据间用”&”连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的;Post传输数据通过Http的Post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;
GET提交的数据会在地址栏中显示出来,而POST提交,地址栏不会改变
-
Get传输的数据量小,因为受URL长度限制,但效率较高;
Post可以传输大量数据,所以上传文件时只能用Post方式; -
Get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等; Post较Get安全性较高;