简单学习Http

记录跟着青戈学毕设,一切来源于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);
    }

400错误
参数传输的错误类型
明明需要传json,而你传了url参数
所以400了
400:参数类型不匹配

请求JSON数据

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的区别

此部分源自 https://zhuanlan.zhihu.com/p/451996411

  1. Get重点在从服务器上获取资源Post重点在向服务器发送数据

  2. Get传输数据是通过URL请求,以field(字段)=
    value的形式,置于URL后,并用”?”连接,多个请求数据间用”&”连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的

    Post传输数据通过Http的Post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的

    GET提交的数据会在地址栏中显示出来,而POST提交,地址栏不会改变

  3. Get传输的数据量小,因为受URL长度限制,但效率较高
    Post可以传输大量数据,所以上传文件时只能用Post方式

  4. Get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等; Post较Get安全性较高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值