当前位置: 首页 > news >正文

网站建设使用情况wordpress喜欢 赏 分享

网站建设使用情况,wordpress喜欢 赏 分享,河北网站建设价格大全,网站图片防盗连怎么做1前言最近电脑坏了#xff0c;开源项目的进度也受到一些影响这篇酝酿很久了#xff0c;作为本系列第二部分#xff08;API接口开发#xff09;的第一篇#xff0c;得想一个好的开头#xff0c;想着想着就鸽了好久#xff0c;索性不扯那么多了#xff0c;直接开写吧~2关…1前言最近电脑坏了开源项目的进度也受到一些影响这篇酝酿很久了作为本系列第二部分API接口开发的第一篇得想一个好的开头想着想着就鸽了好久索性不扯那么多了直接开写吧~2关于RESTFul网上很多相关的文章都要把RESTFul历史来龙去脉给复制一遍所以我这就不重复了现在主要的HTTP接口风格就俩RPC和RESTFul。举个例子就可以看出这俩的区别RPC风格分别是增删改查的接口操作HTTP方法URL增post/blog/add删post/blog/deleteById改post/blog/updateById查get/blog/getAll可以看出RPC风格的特点基本就是用post和get这俩方法来操作接口URL的命名跟函数命名一样都是动词一目了然PSRPC这种几乎一个团队一个风格我见过有人把所有接口都做成post方法然后请求参数全部用json格式放在body里的。关键是这个请求参数还不统一同个项目不同开发人员写的请求参数格式不一致很恶心。微信有些接口也是这样RESTFul风格分别是增删改查的接口操作HTTP方法URL增post/blog/删delete/blog/{id}/改put/blog/{id}/查get/blog/查get/blog/{id}/可以看出RESTFul风格的特点利用各种HTTP方法来实现增删改查其实还有patch、head这些方法不展开了URL的命名是名词以资源名称作为URL更统一使用get获取资源方便后端、客户端、网关这些地方做缓存提高性能接口返回值除了请求接口RESTFul还建议接口返回的时候根据不同状态使用不同的HTTP状态码。以下是HTTP定义的五类状态码。类别描述1xx信息通信传输协议级信息。2xx成功表示客户端的请求已成功接受。3xx重定向表示客户端必须执行一些其他操作才能完成其请求。4xx客户端错误此类错误状态代码指向客户端。5xx服务器错误服务器负责这些错误状态代码。比如添加了数据返回 201 (created)添加、更新、删除这些不需要返回数据的接口返回 204 (no content)没登录返回 401 (unauthorized)找不到返回 404 (not found)没权限返回 403 (forbidden)这样就很清晰了看接口返回的状态码就能知道结果如何。在一些前端ajax库比如axios中返回码如果是4xx或5xx就会抛出异常这样访问逻辑就可以根据错误做出一些提示。例子假设接口返回结构是这样{successful: true,message: 请求成功,data: [{...}, {...}, {...}] }请求接口的 JavaScript 代码如下axios.get(/blog/).then(res  msg.success(请求成功返回信息${res.data.message})).catch(res  msg.error(请求失败返回信息${res.data.message}))但是实际场景很复杂HTTP标准状态码就40个根本不够用啊。所以这些HTTP状态码只能对返回值做个大概的分类复杂系统还是得自己定义一套错误码。小结这俩各有优劣RESTFul看起来比较统一优雅但表达能力有限RPC的URL命名看起来比较随意不过自由发挥的空间也很大。我个人是比较倾向RESTFul风格的所以StarBlog使用了RESTFul风格的接口不过这并不能满足全部功能需求所以参考Django的RestFramework将RESTFul和RPC稍微结合一下。举个例子要在博客增删改查的基础上增加设置置顶、点赞等功能。操作HTTP方法URL设置置顶post/blog/{id}/setTop/点赞post/blog/{id}/thumbUp/获取置顶文章get/blog/getTop/可以看到这种缝合怪是以RESTFul为基础增删改查以外的功能在对应的资源上使用RPC风格。setTop / thumbUp / getTop 这些动词在RestFramework里面也叫 action 意为对一系列资源执行的动作。关于HTTP方法对资源有修改的使用post方法没有修改单纯读取的使用get方法。3接口开发规划本系列文章更新顺序跟StarBlog博客开发的顺序基本一致即在已有MVC架构网站的基础上增加RESTFul接口用于管理后台前后端分离对博客进行配置管理。目前我把接口分成这几类auth - 认证授权顾名思义后面会细说admin - 管理员相关主要功能有配置管理、访问记录、系统监控等blog - 博客相关功能就是文章、分类、图片等信息的crudcommon - 公用接口StarBlog除了博客功能外还以接口形式提供了一些小功能如一句诗、一言、随机图片、主题切换等test - 测试接口用于一些功能测试在正式环境会关闭访问links - 友情链接管理这个功能比较复杂单独做成一个分类后续会有更多类似友情链接这样比较复杂的功能加入比如评论这种会单独做成一个分类。PS之前在开发博客前台的时候把大部分功能都写在了 services 里面现在开发接口的时候就派上用场了很多逻辑都是通用的在接口的controller里面只需要调用这些 services 就可以了。4需要关注的其他东西本文不涉及具体实现只是作为RESTFul接口开发部分的前言或者大纲接口开发看似就crud四个操作很简单实际上比想象的复杂。例如获取文章列表接口博客的文章数量会很多不可能一个接口返回所有文章信息因此要做分页处理同时我们还希望能在文章列表实现关键词过滤、分类、状态筛选、排序等功能已登录用户才能发表评论管理员才能管理文章因此需要实现认证授权、角色管理等功能同一时间可能有很多人访问博客或者是爬虫需要对接口做限流处理以免程序崩溃接口数量多起来了swagger显示太杂乱需要对接口分组或者更换swagger前端正式环境不想让用户看到swagger接口文档可以隐藏或者给swagger加锁频繁访问的资源可以使用服务端缓存提升性能减轻IO压力使用客户端缓存降低服务器流量耗时操作如批量导出文章、发送短信通知放到异步任务队列或者后台任务里执行以上列举的种种只是我在撰写本文的当下考虑博客需要用到的实际上应该还有很多。只能说后端的水很深开发本项目的过程也是一个不断探索、实践的过程“No silver bullet”没有任何技术能适用全部场景只能在不断的积累中得出某个场景下的最佳实践。OK本文就到这吧。5系列文章基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目基于.NetCore开发博客项目 StarBlog - (3) 模型设计基于.NetCore开发博客项目 StarBlog - (4) markdown博客批量导入基于.NetCore开发博客项目 StarBlog - (5) 开始搭建Web项目基于.NetCore开发博客项目 StarBlog - (6) 页面开发之博客文章列表基于.NetCore开发博客项目 StarBlog - (7) 页面开发之文章详情页面基于.NetCore开发博客项目 StarBlog - (8) 分类层级结构展示基于.NetCore开发博客项目 StarBlog - (9) 图片批量导入基于.NetCore开发博客项目 StarBlog - (10) 图片瀑布流基于.NetCore开发博客项目 StarBlog - (11) 实现访问统计基于.NetCore开发博客项目 StarBlog - (12) Razor页面动态编译基于.NetCore开发博客项目 StarBlog - (13) 加入友情链接功能基于.NetCore开发博客项目 StarBlog - (14) 实现主题切换功能基于.NetCore开发博客项目 StarBlog - (15) 生成随机尺寸图片基于.NetCore开发博客项目 StarBlog - (16) 一些新功能 (监控/统计/配置/初始化)基于.NetCore开发博客项目 StarBlog - (17) 自动下载文章里的外部图片基于.NetCore开发博客项目 StarBlog - (18) 实现本地Typora文章打包上传基于.NetCore开发博客项目 StarBlog - (19) Markdown渲染方案探索基于.NetCore开发博客项目 StarBlog - (20) 图片显示优化基于.NetCore开发博客项目 StarBlog - (21) 开始开发RESTFul接口
http://www.pierceye.com/news/239633/

相关文章:

  • 仿制网站建设写网站建设的软文
  • 0基础网站建设教程wordpress去掉rss订阅
  • 爱网站查询外贸推广具体是做什么
  • 商务网站价格找人做效果图那个网站
  • 上传到网站租一个服务器要多少钱
  • 网站制作服务合同安徽建设工程信息网文件
  • 成都企业网站建设公司正规的跨境电商平台有哪些
  • 中山工程建设信息网站网站监控系统
  • 个人网站想添加支付功能怎么做北京二次感染最新消息
  • 上海注册汽车租赁公司网站模板对seo的影响
  • 上海松江做网站公司wordpress 网站暂停
  • 太仓苏州网站建设网站的规划与建设课程设计
  • 遵义住房城乡建设厅网站电子商务网店毕业设计
  • 惠州市博罗县建设局网站防静电产品东莞网站建设技术支持
  • 茂名整站优化百度一下 你知道首页
  • 郑州网站微信微博维护品牌网站建设流程图
  • 网站建站销售怎么做做门窗安装去哪些网站找生意
  • 太原建站司点击查看荆州网站开发
  • 个人音乐网站开发宁波网站推广工作室电话
  • 建设部网站 造价工程师wordpress忘了秘密
  • 如何分析一个网站建设策划案湖南网络推广公司大全
  • 惠州市建设工程交易中心网站如何制作网页导航栏
  • 保山网站建设哪家好做led视频好的网站
  • 如何利用网站策划做好网站建设申请域名要多少钱
  • 专业做公司logo的网站谷歌网站推广方案
  • 公司网站建设情况说明网站开发用php好吗
  • 网站做关键词库的作用空间怎么做网站
  • 制作网站公司名称网络营销与策划实践报告
  • 哈尔滨手机网站建设价格低长沙网业公司
  • 如皋网站建设公司网站推广优化排名