Java生鲜电商平台-统一格式返回的API架构设计与实战 说明:随着互联网各岗位精细化分工的普及,出现了很多的系统架构设计,比如常见的前后端分离架构,后端提供接口给前端,前端根据接口的数据进行渲染,大家各执其职,效率也非常的高,但是随着接口的增加,如果不统一的规范就会额外的增加大量的沟通成本以及学习成本,对管理者而言是非常的不利.为此,我在这篇文章分享给大家一个Java生鲜电商平台中如何返回统一格式的API的整体架构设计. 一般系统的大致整体架构图如下: 需要说明的是,有些小伙伴会回复说,这个架…
前言 最近我司要制定开发规范.在讨论接口返回的时候,后端的同事询问我们前端,错误信息的返回,前端有什么意见? 所以做了一些调研给到后端的同事做参考. 错误信息返回 在使用API时无可避免地会因为各种情况而导致接口返回错误的信息.比如指定的query参数错误,又或者method不支持等,这些情况都会返回相关的错误信息.另外服务器不稳定或者停止运行了,也必须将错误信息返回. 显然,当错误发生的时候,只是笼统地返回"发生了错误"是不行的.如果前端不了解发生了什么错误,也就不知道该怎么去调试,…
文章目录: 目录 前后端接口交互 接口返回值约定 返回值规范 正确返回 错误返回 统一定义错误码 错误码规范 Controller 层如何用? 正确返回 错误返回 详细代码实现 错误码 Controller 总结 问题思考 前后端接口交互 我们都知道,前端通常会通过后台提供的接口来获取数据来完成前端页面的渲染,前端可以为 PC 端.M 端.小程序.APP 等. 在这废话就不多说了,这不是重点. 接口返回值约定 返回值规范 设置返回的 HTTP 响应状态码: 发生错误时,需设置 Response…
一.背景 在分布式.微服务盛行的今天,绝大部分项目都采用的微服务框架,前后端分离方式.前端和后端进行交互,前端按照约定请求URL路径,并传入相关参数,后端服务器接收请求,进行业务处理,返回数据给前端. 所以统一接口的返回值,保证接口返回值的幂等性很重要,本文主要介绍博主当前使用的结果集. 二.统一格式设计 2.1 统一结果的一般形式 示例: { # 是否响应成功 success: true, # 响应状态码 code: 200, # 响应数据 data: Object # 返回错误信息 mess…
更新的是我csdn上的文章,需要的话可以看下,互相学习点击去我的csdn vue中axios的封装 在vue项目和后端交互获取数据时,通常使用axios库,官方文档:https://www.npmjs.com/package/axios. 浅谈在项目中axios的简单二次封装 安装 npm install axios; //安装axios //cnpm install axios;//或者使用镜像下载. 引入组件 通常情况下,在项目src目录下创建request文件夹,然后创建http.js和a…
创建返回状态码枚举 package com.sunny.tool.api.enums; /** * @Author sunt * @Description 响应枚举状态码 * @Date 2019/10/31 **/ public enum ResultCode { // 成功 SUCCESS(200), // 失败 FAIL(400), // 未认证(签名错误) UNAUTHORIZED(401), // 接口不存在 NOT_FOUND(404), // 服务器内部错误 INTERNAL_SE…
本节应用Spring对RESTful的支持,使用了如@RestController等注解实现RESTful控制器. 如果对Spring中的RESTful不太明白,请查看相关书籍 1.创建一个数据对象,用来统一RESTful API的返回格式 package com.ltsolution.framework.common.msgmodel; import java.util.HashMap; import java.util.Map; public class AppResult { privat…
首先我们知道,web api 是可以返回任意类型的,然后在输出的过程中转为(默认的)xml. 但是xml是比较费流量的,而且大多前端都是用json对接,所以我们也只能随大流,把它输出改成json. 不废话了,直接上代码,反正就这么点. public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.MapHttpAttributeRoutes(); config.R…
基础 前端异步请求,局部刷新,加大最大等待时间 nginx开启压缩 进阶 多级nginx的压缩 实践测试: 每级都要开启压缩 gizp on: 最外层开启,但最内层没有开启 最外层没有开启 最外层.最内层均开启 实测是2层 api--> nginx version: nginx/1.12.2 --> nginx version: nginx/1.10.3 -->djangoServer 最外层(第1层) # http://nginx.org/en/docs/http/ngx_http_g…
沟通创造价值,分享带来快乐.这里是程序员阅读时间,每天和你分享读书心得,欢迎您每天和我一起精进.今天和大家一起讨论的话题是如何设计一个良好的API接口? 作者:梁桂钊 解读:张飞洪 挑战 API是软件系统的核心,而我们在设计API接口的时候会面临着非常多的挑战: 场景上来看,它是多样的,如何设计一个随处适用的API? 我们所参与的业务不断演进的,如何设计一个有兼容性的API? 我们的软件流程是协同开发的,那我们如何实现对API的统一认知? 今天我想和大家探讨一下如何设计一个良好的API接口,我觉…