首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    springcloud服务后端500错误到了前端返回406

    之前正常的一个接口突然由api网关返回了406的错误,看了下日志发现服务端报了500错误,为什么某个应用端报的500异常到了api网关却返回了406错误,百思不得其解,最终发现406并不是API网关返回的错误...在讲述具体原因之前,先介绍下406这个错误, 406错误表明服务器端返回的数据客户端无法处理,客户端发送请求时会在http请求头里面加上一些必要的字段比如: 跟406状态有关的是下面这几个请求头属性...mime类型为mime,但是抛出异常时就没有找到对应可以处理text/html的HttpMessageConverter,所以返回到客户端成了406,而不是500,但是为什么不抛出异常时该controller...问题就出在不出问题之前,比如注释掉//a.toString(),这时返回的是字符串类型,但是当抛出异常时返回的类型却是map类型的,再加上 produces="text/html; charset=UTF...-8"导致没有具体的HttpMessageConverter,所以返回406错误!!

    1K10

    dotnet 6 使用 HttpWebRequest 进行 POST 文件将占用大量内存

    这也就是大家将会发现在 dotnet 6 下调用 GetRequestStream 方法将会返回特别快速的原因 既然 RequestStream 不会立刻发送出去,为了不丢失数据,就只能缓存到内存。...这就是上文说的,对于 x86 应用来说,如果发送一个超过 500MB 的文件,基本上都会抛出内存不足。...使用 MemoryStream 时,申请的内存都是两倍两倍申请的,超过 500MB 的数据,将会在 MemoryStream 申请 1GB 的内存空间,对于 x86 的应用来说,基本上能用的内存就是只有...可以看到 RequestStream 多实现了 GetBuffer 方法,这个方法将可以获取所有的数据 在调用 GetResponse 时,才会真的使用 RequestStream 的数据。...在 dotnet 6 的调用 GetResponse 方法实现如下 public override WebResponse GetResponse() {

    1.7K10

    接口设计,接口返回信息,当账号不存在时候,应该返回200还是500,是直接返回R.fail()还是throw exception

    在Java接口设计中,当账号不存在时,返回200还是500,以及是直接返回​​R.fail()​​还是抛出异常,需要根据具体的业务场景和设计规范来决定。...以下是详细的分析:返回状态码的选择200状态码:通常表示请求成功。当账号不存在时,如果业务逻辑允许这种情况发生,并且你希望将这种状态作为正常业务逻辑的一部分返回给客户端,那么可以返回200状态码。...500状态码:通常表示服务器内部错误。当账号不存在是由于服务器内部的逻辑错误导致的,例如查询数据库时出现了问题,那么可以返回500状态码。...但如果账号不存在是正常的业务逻辑情况,那么返回500状态码是不合适的。返回信息的方式直接返回​​R.fail()​​​:这种方式适用于你希望将错误信息封装在统一的响应对象中返回给客户端。​​...抛出异常:抛出异常通常用于处理不可预见的错误情况,或者当业务逻辑中出现严重问题时。如果账号不存在是正常的业务逻辑情况,那么抛出异常可能不是最佳选择。

    28900
    领券