全国服务热线:400-035-8011

位置:武汉达内IT教育培训机构 > 学校动态 > 疫情后前后端分离架构(中)

疫情后前后端分离架构(中)

来源:武汉达内IT教育培训机构时间:2021/10/3 9:45:18

  疫情后前后端分离架构(中)
  接口设计
  接口分为后端服务实现和前端调用两部分。技术是成熟的技术,不难,接口设计是难点。前面提到的前后端会有一些矛盾。从前端的角度来看,侧重于用户体验,包括用户在业务运营中的流向和相关处理;从后端的角度来看,侧重于数据的完整性、有效性和安全性。矛盾在于双方关注点不同,信息不对称,自私。解决这些矛盾的重点是界面设计。
  在接口设计中,其粒度往往代表前端和后端的工作量(不是的,这与整体架构有关)。接口粒度太小,前端要处理的事情很多,尤其是各种异步处理。如果粒度太大,会出现高耦合,降低灵活性和可扩展性。当然,在这种情况下,后端的工作是不容易的。业务层面的东西涉及到具体的产品,这里就不讨论了。这里主要讨论一些技术层面的东西。
  就形式而言,WebAPI可以定义为REST或RPC,只要前端和后端讨论确定即可。更重要的是,在输入参数和输出结果方面,较好一开始就有相对固定的定义,这往往取决于前端架构或UI框架。
  常见请求参数的数据形式如下:
  ·Payload用于URL中的QueryString或POST。
  ·通常用于POST等方法的XML/JSON/..Payload,或者multipart传输。
  ·ROUTE是通过后端路由解析URL获得的,常用于RESTful。

  服务器响应的数据形式多种多样。通常,一个完整的响应至少需要包括状态码、消息和数据三个部分。

疫情后前后端分离架构(中)

  ·HTTP状态码或响应数据中特定的状态属性。
  ·消息通常作为数据的一部分放在响应内容中。
  ·根据接口协议,数据可能是各种格式,JSON是目前较流行的。
  我们在实践中使用JSON,较初定义了这种形式:
  code主要用于指导前端进行一些特殊操作,如0表示API调用成功,非0表示调用失败,其中1表示需要登录,2表示未获得授权...对于这个定义,前端得到响应后,可以在应用框架层进行一些常规处理。例如,当code为1时,弹出登录窗口,要求用户在当前页面登录,当code为2时,弹出消息提示并附上链接,引导用户获得授权。
  刚开始这样做没问题,直到前端框架换成jQueryEasyUI。很多以EasyUI为例的UI库都支持为组件配置数据URL,它会自动通过AJAX获取数据,但是对数据架构有要求。如果仍然采用以前设计的响应架构,则需要为组件定义数据过滤器(filter)来处理响应结果,因此写filter和为组件声明filter的工作量也不小。为减少这部分工作量,我们决定改变接口。
  对于新的响应数据架构,前端框架只需要判断是否存在error属性,如果存在,检查其identity属性是否是指定的特殊值(如特定的GUID),然后使用其code和message属性来处理错误。这一误判过程略显复杂,但可由前端应用框架统一处理。
  如果使用RESTful风格的接口,部分状态码可以用HTTP状态码代替。比如401表示需要登录,403表示未经授权,500表示程序处理过程中出现错误。尽管HTTP状态码更适合RESTful风格,但非RESTful风格也可以用HTTP状态码代替error.code。
领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/3851/news/418733/违者必究! 以上就是武汉达内IT教育培训机构 小编为您整理 疫情后前后端分离架构(中)的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-035-8011