`
yanglphf
  • 浏览: 5258 次
社区版块
存档分类
最新评论

API开发/运维经验1

阅读更多
   对于维护API的经验,推荐《软件框架设计的艺术》这本书,无论是webService还是Rest还是其他什么,都很有帮助。

    不过这书在概念上还是离平时工作太远,知识很精华,但和我的实际工作并不接轨,所以逐渐萌生“把我自己开发/运维API的一些经验整理出来,写一篇大的博文”这样的想法。

    不过最近又忙且病,所以一条条慢慢往外挤……

1.参数命名规范

    我曾经接手一个已经运行一段时间的API系统,它对外暴露的接口的参数,没有采用通用的第一个后单词首字母的规范,例如username;
    我在新开发接口时,决定采用新的规范;
    但问题来了,接口的以前使用者,在调用新接口时,总也调不通,原因就是,以前用来标记访问来源的参数visitsystem,被我不经意间改成了visit**S**ystem,一字之差,接口在验证时找不到访问来源,于是不允许访问;

    由此得出经验:参数规范化很重要,但对于以被使用的通用参数名,还是遵从以前的规则。
    顺便附带第二个经验,开发根本不会细看接口文档……啊啊啊!!!!(虽然我也有这毛病,但我还是要鄙视)

2.接口返回值
   对于错误信息的返回,非常重要。调用接口的系统,会根据错误信息,提示用户进行对应操作。
   我负责这个系统,最开始是用数字(errcode),代表错误信息;但用数字用来标示每个错误,则粒度太细,用来标示一类错误,则对信息的提示又不足;
   比如对于系统异常,和参数错误,是同级别的错误类型,和某个具体参数的具体错误,如email不符合规范,就不是同级别;
   因而增加errMsg,填写具体错误信息(中文)
   当然,系统架构上, 最好有对应的字典表,标记每个errcode对应哪类错误;

这种方式的优缺点如下:
   优点:错误信息规范化,接口调用者可方便查询。
   缺点:增加开发者工作量和运维量。

分享到:
评论

相关推荐

    redis开发和运维

    本书《Redis开发与运维》为读者提供了一本系统学习Redis的参考资料,内容涵盖了Redis的基本概念、API的使用、客户端的选择、持久化机制、复制原理以及高可用解决方案等多个方面。 首先,书中详细介绍了Redis的特性...

    Go/Golang DevOps运维开发实战集训营

    在“Go/Golang DevOps运维开发实战集训营”中,我们主要探讨的是如何利用Go语言,也称为Golang,进行DevOps实践以及与Kubernetes(k8s)的集成应用。这个集训营课程专注于2022年5月29日的最新技术趋势,旨在帮助...

    基于 Python 3.5 + Django 2.0 开发的运维管理系统.zip

    开发运维管理系统时,可能会采用Django REST Framework,它扩展了Django的视图和序列化功能,方便构建RESTful API,便于与其他系统集成。同时,可能会使用Docker进行环境隔离和部署,确保开发、测试和生产环境的一致...

    Api-devops-api.zip

    Api-devops-api.zip,Golang Beego 编写 提供开发/运维常用操作的HTTP API接口: 手机归属地查询、IP地址查询、工作日节假日判断、微信报警、钉钉报警、2步验证、密码存储、发送邮件、生成随机密码等功能devops-api,一...

    Go-基于GO语言和Saltstack开发的WEB运维平台

    综上所述,这个“Go-基于GO语言和Saltstack开发的WEB运维平台”项目,充分利用了Go语言的高性能和Saltstack的自动化能力,构建了一个强大且易用的运维解决方案,对于大型企业的IT部门来说,能够显著提升运维效率和...

    GoGolang DevOps运维开发实战集训营视频课程

    Go/Golang DevOps运维开发实战集训营,提供全套课程下载,2022年5月底完结新课。 课程目录: 第1周 开班仪式 第2周 Go 快速入门(早期视频,可选) 第3周 第一阶段:Go 快速入门(上) 第4周 第一阶段:Go 快速入门...

    基于 Python 3.5 + Django 2.0 开发的运维管理系统

    Django作为Web框架,使得开发运维界面变得更加简单,可以创建用户友好的Web应用,用于展示系统状态、执行自动化任务、记录操作历史等。而“运维”标签则强调了系统的核心功能,即协助运维人员管理和维护IT基础设施。...

    DM7开发使用API及运维使用文档

    《DM7开发使用API及运维使用文档》是一个涵盖了DM7数据库在开发和运维中的全面指导资料集合。这个压缩包包含了多个关键的手册,为开发者和系统管理员提供了详细的操作指南和实用技巧。 首先,"DM7系统管理员手册....

    App后台开发运维和架构实践

    根据给定的信息,“App后台开发运维和架构实践”,我们来探讨一下这个主题涉及的关键知识点。 ### 一、App后台开发的基础概念 1. **后台开发的重要性**:在移动应用开发中,后台服务扮演着至关重要的角色。它不仅...

    《Redis 开发与运维》1

    《Redis 开发与运维》是付磊和张益军合著的一本关于Redis数据库的专著,这本书深入浅出地介绍了Redis的使用、管理和优化。Redis是一个高性能的键值存储系统,广泛应用于缓存、消息队列、计数器等多种场景。 在初识...

    ManageOne 8.1.0 API参考 02

    1. ManageOne 8.1.0 运营面API参考:这部分内容主要涉及到ManageOne平台的运营管理层面,提供了一系列用于监控、调度和优化云资源的API接口。开发者可以通过这些接口,实现对虚拟机的创建、删除、迁移、状态查询等...

    云计算平台运维与开发职业技能等级培训教程.pdf

    4. **基于Python调用API实现运维自动化**:通过调用各种云服务API来实现自动化运维任务。 #### 四、Shell自动化运维技术详解 ##### 4.1 Shell概述 - **定义**:Shell是一种用户与操作系统之间进行交互的接口,...

    基于python+html+css+javascript开发的运维自动化开发项目【前端源码+后端源码+数据库SQL】.zip

    1. Python后端开发:Python作为强大的脚本语言,常用于服务器端的开发,尤其在运维自动化领域。该项目可能使用了Flask或Django等Python web框架,它们提供了构建RESTful API的能力,使得前端与后端能够进行数据交互...

    Go运维开发训练营.zip

    课程涵盖了多个关键知识点,包括但不限于Kubernetes(K8s)管理系统的前端开发、Gin Web框架的高级使用、前端开发基础、API开发以及Go语言的基础与进阶。 1. **K8s管理系统项目实战**:Kubernetes作为容器编排的...

    Redis开发与运维(高清带书签可编辑)1

    《Redis开发与运维》这本书是付磊和张益军合著的一本专业指南,主要针对Redis这一高性能的键值存储系统。Redis以其丰富的数据结构、高效的数据操作和强大的持久化能力,广泛应用于缓存、消息队列、计数器等多种场景...

Global site tag (gtag.js) - Google Analytics