首页
学习
活动
专区
圈层
工具
发布

网关修改响应码,拯救业务不规范设计

服务端无论有没有出现异常,又或者是权限不足,一律将Http的响应码设置为200,导致无法正常使用OpenFeign以及无法适配第三方应用(依赖Http响应码)。...// Controller 目前不讨论返回Json字符串对不对@PostMapping("/addMarsNoticeToGM")public String addMarsNoticeToGM(HttpServletRequest...客户端那边判断请求是否成功,是通过对响应体中的code字段进行(该code不是Http中的响应码),如果code不等于200,那么客户端就认为请求被成功的处理了。...貌似在处理请求响应时,只对成功的请求进行处理,如果将Http响应码设置成非200- 299,可能会导致客户端无法使用。而且客户端已经迭代了几个版本,响应码问题只能由后端兼容。...上面在网关中修改Http响应码我个人是不推荐,客户端和服务端之间的Http通信以及响应体结构等,我觉得一开始就应该规定好,并且要符合标准,否则的话,随着项目的迭代,后续都不知道会存在什么问题,而且应该越早改正

53810

网关修改响应码,拯救业务不规范设计

服务端无论有没有出现异常,又或者是权限不足,一律将Http的响应码设置为200,导致无法正常使用OpenFeign以及无法适配第三方应用(依赖Http响应码)。...java 代码解读复制代码// Controller 目前不讨论返回Json字符串对不对@PostMapping("/addMarsNoticeToGM")public String addMarsNoticeToGM...客户端那边判断请求是否成功,是通过对响应体中的code字段进行(该code不是Http中的响应码),如果code不等于200,那么客户端就认为请求被成功的处理了。...貌似在处理请求响应时,只对成功的请求进行处理,如果将Http响应码设置成非200- 299,可能会导致客户端无法使用。而且客户端已经迭代了几个版本,响应码问题只能由后端兼容。...上面在网关中修改Http响应码我个人是不推荐,客户端和服务端之间的Http通信以及响应体结构等,我觉得一开始就应该规定好,并且要符合标准,否则的话,随着项目的迭代,后续都不知道会存在什么问题,而且应该越早改正

40610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java API:封装自定义响应类

    本文介绍 Web 服务开发中自定义响应,涵盖标准 HTTP 响应状态码局限性、自定义响应价值、设计原则与实现、在 Spring Boot 项目应用、与其他响应格式对比总结及应用场景。1....1.2自定义响应的价值为增强 API 接口易用性和可读性,需设计使用自定义响应结构,包含业务状态码或描述、明确消息提示及实际业务数据。...自定义响应在Spring Boot项目中的应用3.1 结合Controller层在 Spring MVC 框架中,可在 Controller 层方法返回自定义响应对象,以保持所有 API 接口响应格式一致...自定义响应与其他响应格式的对比总结4.1 对比JSON API规范自定义响应模型可依业务场景和项目需求灵活设计响应结构,如自定义状态码等。...自定义响应有优势:跨服务接口一致性,各微服务用相同自定义响应模型,保证接口契约一致且易理解,如服务 A 调用服务 B 可按约定解析响应。

    78910

    DRF自定义响应数据格式

    DRF自定义响应数据格式 我们经常需要自定义返回消息的格式 例如以下格式 { msg:"suc", err_code:0, data:[] } 异常模块EXCEPTION_HANDLER...创建文件exception.py 在这里我们需要处理发生错误时响应的内容 因为DRF的报错种类比较多,所以当我取detail的内容或错误的最后一条信息为msg 这里将错误信息处理成返回 {...settings # 错误处理(有错误) def custom_handler(err,context: dict): # 先调用REST framework默认的异常处理方法获得标准错误响应对象...Response(res, status=response.status_code, exception=True) 修改默认返回JSON的renderer的类 创建文件exception.py 这里设置响应数据的格式...注意设置之后所有通过Response`响应的数据都会经过这里 from rest_framework.renderers import JSONRenderer class CustomRenderer

    67710

    .net core 自定义规范响应的中间件

    在本文中,我们将介绍如何使用 .NET Core 中的中间件来自定义规范响应,以便在 API 调用时返回统一的格式和错误信息。...中间件是一种可以在请求和响应管道中执行逻辑的软件组件,它可以对请求或响应进行修改、拦截或处理。我们将使用一个简单的示例来演示如何创建和使用自定义规范响应的中间件。...ApiResponse(bool success) : this(success, null, null) { } } 中间件 接下来,我们需要创建一个中间件类来实现自定义规范响应的逻辑...该中间件拦截每个响应,并根据需要修改响应格式。...结论 通过使用 ASP.NET Core 中间件和常用类,我们可以自定义 ASP.NET Core 应用程序中的响应格式,并标准化应用程序中的响应格式。

    75850

    Android自定义View:为什么自定义View wrap_content不生效?

    Carson带你学Android自定义View文章系列: Carson带你学Android:自定义View基础 Carson带你学Android:一文梳理自定义View工作流程 Carson带你学...Android:自定义View Measure过程 Carson带你学Android:自定义View Layout过程 Carson带你学Android:自定义View Draw过程 Carson...问题描述 在使用自定义View时,View宽 / 高的wrap_content属性不起自身应有的作用,而且是起到与match_parent相同作用。...高被设定成刚好适应视图内容的最小尺寸 match_parent:视图的宽/高被设置为充满整个父布局 (在Android API 8之前叫作fill_parent) 其实这里有两个问题: 问题1:wrap_content属性不起自身应有的作用...知识储备 请分析 & 解决问题之前,请先看自定义View原理中(2)自定义View Measure过程 - 最易懂的自定义View原理系列 3.

    1.2K21

    最完整的VBA字符串知识介绍(续:消息框和输入框)

    否则,如果需要自定义标题,可以将其作为MsgBox函数的第三个参数提供。标题可以是简单的字符串。...图15 注意,标题现在是自定义的,而不是应用程序的名称。标题也可以是从表达式创建的字符串,也可以是从变量或值发出的字符串。...输入框的标题 InputBox函数的第二个参数允许选择性地指定输入框的标题,这是将出现在标题栏上的字符串。由于这是一个可选参数,如果不传递它,输入框将显示应用程序的名称。...图18 注意,标题现在是自定义的,而不是应用程序的名称。标题也可以是从表达式创建的字符串,也可以是从变量或值发出的字符串。...使用后,InputBox函数返回一个字符串。

    3K20

    Flask 学习-7. make_response() 自定义响应内容

    前言 视图函数的返回值会自动转换为一个响应对象。如果返回值是一个字典,那么会调用 jsonify() 来产生一个响应。 响应转换规则 视图函数的返回值会自动转换为一个响应对象。...如果返回值是一个字符串,那么会被 转换为一个包含作为响应体的字符串、一个 200 OK 出错代码 和一个 text/html 类型的响应对象。...如果返回值是一个字典,那么会调用 jsonify() 来产生一个响应。 具体规则: 如果视图返回的是一个响应对象,那么就直接返回它。...如果返回的是一个字符串,那么根据这个字符串和缺省参数生成一个用于返回的 响应对象。 如果返回的是一个字典,那么调用 jsonify 创建一个响应对象。...404 404 page not found make_response() 自定义返回内容

    2K20

    【Nest教程】自定义拦截器处理处理响应数据

    今天我们讲下自定义拦截器,Nest拦截器功能很强大,可以在函数执行之前/之后绑定额外的逻辑、转换从函数返回的结果、转换从函数抛出的异常、扩展基本函数行为等。...我们在之前的项目基础上增加自定义拦截器,转换从函数返回的结果。...1 创建自定义拦截器 我们在我们项目目录src下新建interceptor文件夹,文件夹下新建transform.interceptor.ts文件,文件内容如下: import { Injectable...必须手动调用hander()方法,最终方法才会被触发 handle()返回一个Observable,这里我们拦截响应数据,给相应数据外面套一层对象。...我们可以看到,最外层是我们自定义的,data里是响应数据。文章里没有过多的讲解理论知识,因为我也是刚开始学习Nest,只能是需要什么就查什么,记录什么。

    1.9K1412
    领券