首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    RESTful API 设计最佳实践

    作者:Philipp Hauer 项目资源的URL应该如何设计?用名词复数还是用名词单数?一个资源需要多少个URL?用哪种HTTP方法来创建一个新的资源?可选参数应该放在哪里?...为资源设置一个基本URL,将可选的、复杂的参数用查询字符串表示。 GET /employees?...- 如果客户端发生错误(例如客户端发送无效请求或未被授权) 5xx – 服务器错误 - 如果服务器发生错误(例如,尝试处理请求时出错) 参考维基百科上的HTTP状态代码。...更好的方案是在响应参数中添加一个links字段,让客户端可以自动变更。 请求: GET /employees/ 响应: //......另一个好处是,你的API变得可以自我描述,需要写的文档更少。 在分页时,您还可以添加获取下一页或上一页的链接示例。只需提供适当的偏移和限制的链接示例。 GET /employees?

    1.9K60

    RESTful API 设计最佳实践

    项目资源的URL应该如何设计?用名词复数还是用名词单数?一个资源需要多少个URL?用哪种HTTP方法来创建一个新的资源?可选参数应该放在哪里?那些不涉及资源操作的URL呢?...但最重要的是:避免复数和单数名词混合使用,这显得非常混乱且容易出错。 对可选的、复杂的参数,使用查询字符串(?)。...为资源设置一个基本URL,将可选的、复杂的参数用查询字符串表示。 GET /employees?...- 如果客户端发生错误(例如客户端发送无效请求或未被授权) 5xx – 服务器错误 - 如果服务器发生错误(例如,尝试处理请求时出错) 参考维基百科上的HTTP状态代码。...将版本号放在URL中以是必需的。如果您有不兼容和破坏性的更改,版本号将让你能更容易的发布API。发布新API时,只需在增加版本号中的数字。

    1.8K10

    在Ubuntu终端中使用安装命令Sudo apt-get install xxx时时出现E: 无法获得锁 varlibdpkglock - open (11: 资源暂时不可用)的错误解决方案

    在Ubuntu终端中使用安装命令Sudo apt-get install xxx时,也许会出现如下错误: 输入: apt-get install vim 出现如下: E: 无法获得锁 /...参考了ubuntu社区的一篇帖子和一篇新浪博客,最终解决了问题,网址链接是:ubuntu社区的一篇帖子和一篇新浪博客 解决方法一、先看到底有没开两个apt 强制解锁,在终端中键入命令 sudo...这个问题其实是由于操作问题引起的,你肯定是强制的关了终端(比如说Ctrl+Z),所以有在运行的导致了你无法获得排它锁,解决办法就是养成好的习惯,终端中经常使用ctrl+c来终止运行,以后就不会出现同样的问题了...解决方法二、关闭被你强制终止的apt-get进程。 终端输入 ps  -aux ,列出进程。找到含有apt‘-get或者wget的进程PID,       直接sudo kill PID。解决。

    3.2K40

    PHP编程中使用CURL发送HTTP请求的基本流程

    · curl_exec() 执行CURL请求,如果没有错误发生,该函数的返回是对应URL返回的数据,以字符串表示满意;如果发生错误,该函数返回 FALSE。...需要注意的是,判断输出是否为FALSE用的是全等号,这是为了区分返回空串和出错的情况。   ...例如设置$opt为CURLINFO_TOTAL_TIME,则curl_getinfo()函数只返回total_time,即总传输消耗的时间,在只需要关注某些传输信息时,设置$opt参数很有意义。   ...使用CURL发送GET请求   如何使用CURL来发送GET请求,发送GET请求的关键是拼装格式正确的URL。请求地址和GET数据由一个“?”...分割,然后GET变量的名称和值用“=”分隔,各个GET名称和值由“&”连接。

    1.9K20

    免费ICP备案查询API接口详细教程

    三、返回参数与示例接口返回统一格式的JSON数据。成功响应示例(HTTPStatusCode:200)当查询成功时,会返回完整的备案信息。...jsonjson复制{"code":400,"msg":"通讯秘钥错误。"}返回参数说明:code:状态码。200表示成功,400表示失败。msg:当code为400时的错误描述。...公共测试凭证(频次受限,仅用于测试):id:88888888key:888888881.浏览器直接访问(GET)最简单的方式是将参数直接拼接在URL后,在浏览器地址栏中访问。...id=88888888&key=88888888&domain=apihz.cn访问后,浏览器将直接显示JSON格式的查询结果。2.PHP调用示例以下代码演示了在PHP中使用cURL库进行GET请求。...>3.Python调用示例以下代码演示了在Python中使用流行的requests库进行GET请求。

    47210

    一文掌握Axios:前后端数据交互竟如此简单

    如果请求成功,控制台会打印出响应数据;如果失败,控制台会打印出错误信息。 请求和响应拦截器 有时候,我们需要对请求和响应做一些统一的处理,比如添加请求头、统一处理错误等。..., post, put, del, }; 在vue中使用 按业务类型封装,比如说博客文章相关的articleApi.js 以下示例,包括了对GET/POST/PUT/DELETE...:在vue文件中使用articleApi.js // 查询结果的容器 const searchResults = ref([]); const performSearch...更好的错误处理:axios 能根据不同的 HTTP 状态码自动分类错误,使得错误处理更清晰。 配置方便:可以在实例化 axios 时设置默认配置,例如基 URL、超时时间、头信息等。...请求数据格式化:自动将请求参数格式化为查询字符串,或在 POST 请求时自动序列化 JSON 数据。

    2.2K20

    搞定可恶的动态参数,这一文告诉你!

    在配置中使用 或在页面中使用 启用了事件验证...可以看到表单的参数顺序和上面的不一样了,所以在选好宿舍楼层之后我们需要把变单顺序改变后再把参数post出去,要不还会出现上面那个坑,就是回调参数无效 ?...第一个箭头所指的参数也需要改变,不过第二个参数是txtname2,也就是每层楼的默认宿舍值,这个固定也没事,不会出错,时间的话还是需要根据自己访问时间来进行变化的,要不也会出现错误,还是同样的错误,也就是下面的这个错误...在配置中使用 或在页面中使用 启用了事件验证...这个电费查询按钮,不是ajax,会有新的请求,而且是对同一个网址的不同请求方式,第一次请求时get请求,用于获取asp网页的那两个动态参数,第二次是将动态参数就行post发送出去,这样就会有数据了,如果你是第一次就

    2.4K30

    Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(五)配置 Axios api 接口调用文件

    另外,不同的项目的处理方法也是不一致的,这里出错就是简单的alert */ function apiAxios (method, url, params, success, failure) {...模板中的调用接口 export default { get: function (url, params, success, failure) { return apiAxios('GET'...2017年10月20日补充,删除了评论中有人反映会出错的 return ,确实这个 return 是没有什么作用的。不过我这边确实没出错。没关系啦,本来就没啥用,只是一个以前的不好的习惯代码。...no-new */ new Vue({ el: '#app', router, template: '', components: { App } }) 好了,这样,我们就可以在项目中使用我们封装的...好,如果你操作正确,代码没有格式错误的话,那么现在应该得到的结果是和我一样的。如果出错或者怎么样,请仔细的检查代码,看看有没有什么问题。

    1.2K80

    flask 教程_python flask快速入门与进阶

    而”request.args.get()”方法则可以获取Get请求URL中的参数,该函数的第二个参数是默认值,当URL参数不存在时,则返回默认值。在后文的请求对象会讲到。...key=value )中提交的参数可以使用 args 属性: searchword = request.args.get(‘key’, ”) 用户可能会改变 URL 导致出现一个 400 请求出错页面,...使用 延迟的请求回调 方案可以在没有响应对象的情况下设置一个 cookie 。 重定向和错误 你可以用 redirect() 函数把用户重定向到其它地方。...在模板中,使用 get_flashed_messages() 来操作消息 日志 有时候可能会遇到数据出错需要纠正的情况。...例如因为用户篡改了数据或客户端代码出错 而导致一个客户端代码向服务器发送了明显错误的 HTTP 请求。

    3.1K40

    jQuery ajax() 方法

    注:不知道为什么URL写绝对路径在FF下会出错,知道的麻烦告诉下。下面的get()和post()示例使用的是绝对路径,所以在FF下你将会出错并不会看到返回结果。...请求成功时可调用回调函数,如果需要在出错时执行函数,请使用 $.ajax。 示例代码: $.get("....数据类型设置为 "jsonp" 时,jQuery 将自动调用回调函数。(这个我不是很懂) 参数列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址。...error Function (默认: 自动判断 (xml 或 html)) 请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。...设置 AJAX 请求默认地址为 "/xmlhttp/",禁止触发全局 AJAX 事件,用 POST 代替默认 GET 方法。其后的 AJAX 请求不再设置任何选项参数。

    4.4K60

    Linux: 开发高效可靠的Dockerfile的技巧

    接下来将介绍一些关键技巧,包括如何处理缓存、传递敏感信息、处理特殊字符以及在命令出错时停止构建。 1. 控制缓存使用 缓存机制是Docker构建过程中的一大优势,通过缓存可以加快构建速度。...传递和使用构建参数 在Dockerfile中,可以使用ARG指令定义构建参数。这些参数在构建时传递,可以在Dockerfile中使用,但不会自动成为容器运行时的环境变量。...处理密码中的特殊字符 当密码中包含特殊字符(如@)时,需要对这些字符进行URL编码。...确保命令出错时停止构建 为了确保在遇到错误时停止构建,可以使用以下方法: 使用&&链接命令,确保每个命令在成功执行后才会继续执行下一个命令: dockerfile RUN apt-get update...正确使用缓存、传递构建参数、处理敏感信息和特殊字符,以及确保错误处理,是开发高质量Dockerfile的关键。

    37610

    Vue笔记:封装 axios 为插件使用

    封装的基本要求 统一 url 配置 统一 api 请求 request (请求)拦截器,例如:带上token等,设置请求头 response (响应)拦截器,例如:统一错误处理,页面重定向等 根据需要...,结合 Vuex 做全局的loading动画,或者错误处理 将 axios 封装成 Vue 插件使用 文件结构 在src目录下新建 http 文件夹 ?...axios 的官方文档 export default { method: 'get', // 基础url前缀 baseURL: 'https://www.example.com/api',.../http/index' Vue.use(api) // 此时可以直接在 Vue 原型上调用 $api 了 在 vue 中使用 // List.vue ... this....总结 以上二次封装较为全面,基本完成了我们之前的需求 在错误的处理上还需要与后端协定好返回值,做具体的约定 本文同步发布在 https://www.cssge.com 本文转载自 原文作者:前端小子 原文链接

    2.3K10

    requests发送post请求,你真的明白吗?

    一般是发送GET请求或者POST请求,对于GET请求没有什么好说的,而发送POST请求,有很多朋友不是很清楚,主要是因为容易混淆POST提交的方式。...服务端根据请求头中的Content-Type字段来获知请求中的消息主体是用何种方式进行编码,再对消息主体进行解析。...以http://httpbin.org/post 为例,在requests中,以form表单形式发送post请求,只需要将请求的参数构造成一个字典,然后传给requests.post()的data参数即可...以拼多多网站为例,加载商品的方式为ajax,商品的内容在响应中。 ? 下面把请求头和请求实体列举一下: ? 一些初学者根据请求头写爬虫,就会犯requests的使用错误。...=url,json =data,headers=headers) print(r.text) 3.上传文件 上传文件在爬虫中使用的很少,不过还是使用requests讲解一下使用方式。

    9.2K30

    requests发送post请求,你真的明白吗?

    一般是发送GET请求或者POST请求,对于GET请求没有什么好说的,而发送POST请求,有很多朋友不是很清楚,主要是因为容易混淆POST提交的方式。...服务端根据请求头中的Content-Type字段来获知请求中的消息主体是用何种方式进行编码,再对消息主体进行解析。...以http://httpbin.org/post 为例,在requests中,以form表单形式发送post请求,只需要将请求的参数构造成一个字典,然后传给requests.post()的data参数即可...以拼多多网站为例,加载商品的方式为ajax,商品的内容在响应中。 ? 下面把请求头和请求实体列举一下: ? 一些初学者根据请求头写爬虫,就会犯requests的使用错误。...=url,json =data,headers=headers) print(r.text) 3.上传文件 上传文件在爬虫中使用的很少,不过还是使用requests讲解一下使用方式。

    1.2K40

    【愚公系列】《循序渐进Vue.js 3.x前端开发实践》053-Axios 实用功能介绍

    在第 11.1 节中,我们编写的请求示例代码中使用的就是这些快捷方法。下面是一些常见的快捷请求方法: GET 请求 axios.get(url[, config]) url:请求的接口地址。...该配置对象的参数非常丰富,如下表所示: 表 11-1 配置对象可配置的参数 参数 类型 说明 默认值 url 字符串 设置请求的接口 URL 无 method 字符串 设置请求方法 ‘get’ baseURL...config; // 必须返回 config,否则请求无法继续 }, (error) => { // 请求出错时触发 alert("请求出现错误"); return...处理返回的数据格式,如统一封装响应数据,简化后续调用。 弹出错误提示,通知用户请求失败。 3.3 移除拦截器 在某些情况下,我们可能不再需要某个拦截器,可以通过 eject 方法移除它。...响应拦截器:处理返回数据、错误处理和统一封装等。 同时,使用 eject() 方法可以在不需要时移除拦截器,灵活控制拦截行为。

    34810

    ajax的再次封装!

    项目现状:     做ajax请求的时候,会有一个加载的动画,在ajax发起的时候要自动开始,加载完毕之后要自动停止。出错了也要自动停止,并且给出错误提示。请求的URL比较固定,按照增删改查来分类。...,然后是根据URL的封装,其实就是避免在代码里到处写URL的问题。...详细说明:   默认参数里的几个属性的含义。   1、title。ajax有可能出错,出错了就应该有个提示。但是一个页面往往有多个ajax,到底是哪个出错了?...所以我设置了一个title的属性,在error的时候 alert("提交" + ajaxInfo.title + "的时候发生错误!")...这个似乎挺好,但是在post的时候,我需要明确的把一些参数放在URL里面,一些参数放在form里面。这个就不能都放在data里面,我还得自己去拼接URL。麻烦还爱出错。

    1.4K80
    领券