首页 > 其他分享 >为什么大多数restful-api都要求使用POST

为什么大多数restful-api都要求使用POST

时间:2023-08-01 11:14:36浏览次数:27  
标签:code http GlobalCode msg json api DEBUG POST restful

2023年6月20日13:50:56

1,因为前后端对http的认识差异比较大,而且很多前端开发有些是培训速成或者其他行业转过来的,所以基础知识差异大,你要求他们具备和后端一样的基础知识水平,不太可能

2,http协议支持的方法 GET方法:获取资源,POST方法:传输实体主题,PUT方法:传输文件,HEAD方法:获取报文首部,DELETE方法:删除文件,OPTIONS方法:询问支持的方法
http的头部code的200系列,300系列,400系列,500系列,如果你完全按照http协议标准写后端接口无可厚非,但是为了避免相关问题,比如系统错误你就返回个4XXhttp header code前端就以为是浏览器错误页面,直接认为是接口出错,所有为了平衡这个水平差异一般都建议改成

 public function success(mixed $data = '', string $msg = '操作成功')
    {
        return response()->json(['code' => GlobalCode::SUCCESS, 'msg' => $msg, 'data' => $data]);
    }

    public function fail(Exception $e, $status = 200, array $headers = [])
    {
        if (request()->debug == env('DEBUG', GlobalCode::DEBUG) || env('DEBUG') == GlobalCode::DEBUG) {
            return response()->json(['code' => GlobalCode::FAIL, 'msg' => $e->getMessage(), 'data' => $e->getTraceAsString()], $status, $headers);
        } else {
            return response()->json(['code' => GlobalCode::FAIL, 'msg' => $e->getMessage(), 'data' => $e->getMessage()], $status, $headers);
        }
    }

    public function grant(Exception $e)
    {
        if (request()->debug == env('DEBUG', GlobalCode::DEBUG) || env('DEBUG') == GlobalCode::DEBUG) {
            return response()->json(['code' => GlobalCode::GRANT, 'msg' => $e->getMessage(), 'data' => $e->getTraceAsString()]);
        } else {
            return response()->json(['code' => GlobalCode::GRANT, 'msg' => $e->getMessage(), 'data' => $e->getMessage()]);
        }
    }
	
	
interface GlobalCode
{
    //接口返回成功
    const SUCCESS = 200;
    //返回错误
    const FAIL = 400;
    //需要授权
    const GRANT = 401;
	}

统一返回,json http code 200 用json的格式的code来区分状态

3,除了http基础知识的差别之外,还有一个问题就是统一请求和返回,避免后续接口维护的成本,假设你按照http协议的标准写完接口,之前的前端离职了,你还得给新的来的前端在解释一遍,前端得吧http协议学一遍才能理解你的接口为什么这些写,在就是和第三方对接的一般都是采用GET和POST,你整个其他的有些刚入门的后端也无法理解

4,还有一个问题也不是不容忽视的,就是get和post协议的相对安全性来说,虽然现在都是https,但是从请求可以带的数据量和安全性来说post更好

标签:code,http,GlobalCode,msg,json,api,DEBUG,POST,restful
From: https://www.cnblogs.com/zx-admin/p/17493463.html

相关文章

  • 【AGC】Publishing API调用问题汇总
    ​【问题背景】开发者可以通过PublishingAPI完成几乎所有应用的管理和发布工作,自己制定自动发布接口。PublishingAPI有很多接口,包括了查询应用信息、更新应用信息、上传文件、提交发布等主要接口。下面总结了一些开发者在使用PublishingAPI过程中容易遇到的问题,供大家在使用时......
  • 一分钟掌握技术术语:API(接口)
    很多产品经理在项目开发过程中经常听到:你调我这个接口就好了;这个功能你写个接口给我;有什么不懂的就看下API接口文档。开发经常说的接口是什么意思呢?术语解释:API(ApplicationProgrammingInterface),简单理解就是程序之间的约定。主要用于满足应用访问另一应用一组例程,但又无需访问源......
  • 亚马逊国际按关键字搜索商品 API 返回值
    item_search-按关键字搜索商品 前往注册开通测试onebound.amazon.item_search公共参数名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]cacheString否......
  • API数据接口该怎么对接
    随着互联网和移动互联网的发展,API(ApplicationProgrammingInterface)接口的作用越来越重要。API接口将各种平台相互连接,使得不同系统的信息可以互相获取和使用,大大提高了系统的互操作性和开发效率。本文将介绍如何对接API数据接口,以及注意事项和技巧。获取API接口首先需要找到需要......
  • 关于API接口应用
    随着互联网技术的发展,API接口已成为众多应用程序开发中的必备工具,它不仅方便了开发者进行应用程序开发,也为应用程序提供了更多的功能和服务。本文将介绍API接口的概念和应用,以及API接口的优势和未来趋势。一、什么是API接口API是ApplicationProgrammingInterface,即应用程序接口。......
  • POST 怎么样用
    HTTP/1.1协议规定的HTTP请求方法有OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT这几种。其中POST一般用来向服务端提交数据,本文主要讨论POST提交数据的几种方式。我们知道,HTTP协议是以ASCII码传输,建立在TCP/IP协议之上的应用层规范。规范把HTTP请求分为......
  • 你是一个资深API接口爬虫程序员,现在需要你介绍一下如何通过商品id来获取商品数据并读
    获取商品数据通常需要使用API接口,根据接口文档中的说明传递商品id参数,并使用相应的请求方式(通常为GET请求)向API服务器发送请求即可。以下是一个获取商品数据的示例请求:首先打开API接口文档,找到获取商品数据的API接口。例如:https://api.xxx.com/products/{product_id}API文档中会说......
  • 拼多多按关键字搜索商品 API
    一、拼多多平台优势:1、独创拼团模式拼团拼单是拼多多独创的营销模式,其特点是基于人脉社交的裂变传播,非常具有传播性。由于本身走低价路线,加上拼单折扣,商品的分享和人群裂变效果非常明显,电商前期最难在于吸引用户,拼多多初期利用低价拼团模式,快速大量的分享曝光可以把产品知名度很快......
  • java怎么写接口,java开发api接口教程
    在大家的工作中,经常写界面。而且,最常用的是http接口。但是,对于初学者Java工作人员来说,写http界面还很难。那么,用实例来说明吧。一、建设项目首先,生成SpringBoot项目。省略如何构建此处,并引入相关依赖关系:org.springframework.bootartifactIdspring-boot-starter/从属从属关系or......
  • 什么是API接口,具体是什么意思?
    说到API,往往是和SDK放在一起的。什么叫API,看一下餐厅里怎么点餐的就行了。到了饭店,喊一场服务员,点餐。服务员拿出来菜单给你看,你点什么,她在小本本上记什么。点好了之后,再把菜单送到后厨去。这里服务员就是提供服务的(不然也不叫服务员),提供什么服务呢?点餐服务。点餐服务需要什么呢?谈......