行业网站建设费用明细网站建设介绍会发言稿

news/2025/10/4 6:09:47/文章来源:
行业网站建设费用明细,网站建设介绍会发言稿,做网站的免费空间,注册公司3个人分别是啥问题回溯 2023年Q2某日运营反馈一个问题#xff0c;商品系统商家中心某批量工具模板无法下载#xff0c;导致功能无法使用#xff08;因为模板是动态变化的#xff09; 商家中心报错#xff08;JSON串#xff09;#xff1a; {code:-1,msg:商品系统商家中心某批量工具模板无法下载导致功能无法使用因为模板是动态变化的 商家中心报错JSON串 {code:-1,msg:失败}负责的同事看到失败后立即与我展开讨论因为不是关键业务所以不需要回滚修复即可我们发现新功能模板下载的代码与之前的代码有所不同恰好之前的功能又可以正常运行所以同事对现有代码进行改造然后预发布测试完成后再次上线。 其他业务代码 /*** 模板下载*/ RequestMapping(/doBatchWareSetAd) public void doBatchWareSetAd(RequestParam MultipartFile file, HttpServletResponse response) {wareBatchBusiness.doBatchWareSetAd(file, response, getLongOrgCode(), getCurrentUserPin(), getCurrentUserId()); }问题业务代码 /*** 模板下载*/ RequestMapping(/doBatchWareSetAdDemo) ResponseBody public MapString, Object doBatchWareSetAd(RequestParam MultipartFile file, HttpServletResponse response) {return wareBatchBusiness.doBatchWareSetAd(file, response, getLongOrgCode(), getCurrentUserPin(), getCurrentUserId()); }上线的结果是仍然无法使用。 其实也正常因为两种代码在预发布都可以正常运行在线上出错只可能是因为其他原因只不过我们不了解底层原理害怕它 “可能” 有问题罢了最终查询得到的结论是权限系统管理员在线上环境没有给我们配置相应的文件导致请求为空导致请求失败。 探索 ResponseBody 与主动写入流的关系 我们都知道 ResponseBody 注解可以帮助我们把返回对象转化为JSON方便展示和交互。 那它到底是如何工作的呢请看下面的讲解 代码案例1 RequestMapping(/test1) ResponseBody public MapString, String test1(HttpServletResponse response) {MapString, String map new HashMap();map.put(1, 1);return map; }// 响应 JSON报文跟代码发现其核心处理类为RequestResponseBodyMethodProcessor.java 方法org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor#handleReturnValue 会处理其相关返回值。 真正的核心处理方法org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor#writeWithMessageConverters 关键DEBUG记录如图所示 后续内容可以想象肯定还有地方去把流按照指定的HEADER写入因为和本文无关所以不深究。 再来看代码案例2 RequestMapping(/test2) ResponseBody public MapString, String test2(HttpServletResponse response) throws IOException {MapString, String map new HashMap();map.put(1, 1);response.setContentType(application/vnd.ms-excel);response.setHeader(Content-Disposition, String.format(attachment; filename%s_%s.xls, Demo, System.currentTimeMillis()));OutputStream out response.getOutputStream();out.flush();out.close();return map; }// 响应 提示下载文件关键DEBUG源码截图 可以发现Spring对这种方式操作文件流视作异常情况然后抛出在后续逻辑中完成整个请求简单来说就是 ResponseBody 注解没起到任何作用。 因此答案呼之欲出当时功能不可用的罪魁祸首就是相关人员没有配置参数导致与写法没有任何关系。 结论与启发 结论 我们要相信自己的代码至少是要相信已经经过测试的代码。在委托他人或者自己配置环境参数如权限、ZK等每次都保证预发布和线上同时配置避免遗漏的情况。 启发 聊了这么多那我们这种类似场景的代码应该怎么写 既然主动写入流会解除ResponseBody的作用反之又能发挥它的作用那我们最佳方案是不是如下所示 RequestMapping(/test1) ResponseBody public MapString, String test1(HttpServletResponse response) {MapString, String map new HashMap();if (获取不到文件配置 true) {return map.put(msg, 获取不到文件配置);}response.setContentType(application/vnd.ms-excel);response.setHeader(Content-Disposition, String.format(attachment; filename%s_%s.xls, Demo, System.currentTimeMillis()));OutputStream out response.getOutputStream();out.flush();out.close();return map; }如此一来当发生预期之外的情况我们有非常明显的报错提示当正常时又可以完美实现功能妙哉我觉得~ 作者京东零售 柯贤铭 来源京东云开发者社区 转载请注明来源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/926642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深圳有没有什么网站网站导航固定代码

Vuex的设计初衷就是为了解决Vue中单项数据流的问题,什么是单项数据流,简单来说就是 父组件可以传值给子组件,你可以用props,还相对简单. 子组件可以传值给父组件,你可以用$emit,这个算相对难一丢丢. 1.Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候&#x…

使用Silobase在几分钟内快速部署后端API

本文详细介绍了如何使用开源后端即服务平台Silobase快速部署REST API,包括Postgres数据库设置、环境变量配置、API密钥管理和字段掩码等核心技术实现步骤。如何使用Silobase在几分钟内部署后端API Hi,我是Simi,Silo…

房产机构网站建设电商怎么做运营

目录 一、IPV6与IPV4相比改进之处1. “无限“的地址空间2. 层次化的地址结构3. 即插即用4. 简化了报头头部5.保证端到端网络的完整性6.安全性增强7.增强QoS特性 二、IPV6的规则IPV6地址主要分为了三类:单播地址,组播地址,任播地址单播地址组播…

哪个网站可以做效果图赚钱哈尔滨网站建设丿薇

背景: 因为局域网内架设了 tiddlywiki、 Nextcloud 等服务,同时也把公司的网站架设在了本地,为了实现局域网直接在局域网内访问,而外部访问通过frps服务器作为反向代理的目的,才有此内容。 实现的效果如下图琐事 不喜欢…

素材网站下载咋样查看网站用什么编程语言做的

背景 随着酒店业务的高速发展,我们为用户、商家提供的服务越来越精细,系统服务化程度、复杂度也逐渐上升。微服务化虽然能够很好地解决问题,但也有副作用,比如,问题定位。 每次问题定位都需要从源头开始找同事帮我人肉…

做pc网站最大分辨率网站制

前言:什么是配置文件 SpringBoot的配置文件是指用于定义和管理SpringBoot应用程序配置的文件。这些配置文件允许开发者调整和控制应用程序的行为,而无需改变代码。主要有两种格式的配置文件: 1、application.properties:这是一种使…

server2008部署网站珠海市研发网站建设

机动车驾驶员考试科目三路考考试流程可分为7个步骤,分别有什么注意事项,下面就让小编给大家介绍下吧! 1.上车前,无论你在车辆的什么位置,请务必从车的右侧绕过车头走到驾驶室门前,先观察车前道路上是否有障…

江苏伟业建设集团网站广州电力建设有限公司

一、行为决策树的概念 行为决策树是一种用于游戏AI的决策模型,它将游戏AI的行为分解为一系列的决策节点,并通过节点之间的连接关系来描述游戏AI的行为逻辑。在行为决策树中,每个节点都代表一个行为或决策,例如移动、攻击、逃跑等…

网站建设的项目方案中小企业网站建设问题

STL无序关联式容器 继 map、multimap、set、multiset 关联式容器之后,从本节开始,再讲解一类“特殊”的关联式容器,它们常被称为“无序容器”、“哈希容器”或者“无序关联容器”。 注意,无序容器是 C 11 标准才正式引入到 STL 标…

网站免费源码大全无用下载上海做网站yuanmus

策略模式定义了一系列的算法,并将每一个算法封装起来,使它们可以相互替换。策略模式让算法的变化独立于使用算法的客户。 // 策略接口 public interface IStrategy { void Execute(); } // 具体策略A public class ConcreteStrategyA : IStra…

沈阳网站怎么推广拼多多分销模式

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: 算法Journey 本篇博客我们分享一下双指针算法中的快慢指针以及对撞双指针,下面我们开始今天的学习吧~ 🏠 快乐数 📒 题…

上海网站开发开发好的公司电话济南定制网站制作公司

最近微信加我的好友有点多,然后问问题的也不少,有的问题我不知道,有的问题我觉得百度一下应该很多答案,有的问题我觉得我可以知道,但是需要自己去寻找答案,也需要花费我一些时间,我有时候非常不…

【光照】[各向异性]在UnityURP中的实现

《Unity URP中实现Kajiya-Kay头发渲染模型》摘要 本文详细介绍了如何在Unity URP渲染管线中实现Kajiya-Kay各向异性光照模型。该模型专为模拟头发、毛发等纤维材质设计,通过切线空间计算替代传统法线,产生条状高光效…

温州seo平台网络推广优化seo

NAT 1.SNAT:让内网可以访问外网 2.DNAT:让外网可以访问到内网的机器 网关服务器,要开启路由功能 内核功能: sysctl -a 列出所有参数 内核参数,然后grep可以查看到默认的内核参数 内核参数配置文件 /etc/sysctl.…

开封网站建设价格我想自己建个网站买货 怎么做

一、背景 随着城市化进程的加快,越来越多的市民热衷于钓鱼活动。钓鱼活动在带来乐趣的同时,也伴随着一定的安全隐患。尤其是在一些危险水域,也经常出现垂钓者的身影,非法垂钓,这给城市管理带来了不小的阻力。传统的人…

网站改版需要怎么做p2p商城网站建设

应用和硬件的关系我们作为程序员一般很少直接操控硬件,我们一般通过 C、Java 等高级语言编写的程序起到间接控制硬件的作用。所以大家很少直接接触到硬件的指令,硬件的控制是由 Windows 操作系统 全权负责的。你一定猜到我要说什么了,没错&am…

安徽泗县建设银行网站特色专业建设展示网站 湖北

青少年软件编程(C/C)7级等级考试真题试卷(2023年9月) 编程题第 1 题 红与黑(2023.9) 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上&#xff0c…

小型购物网站模板游戏加盟项目

一图流 赛道 题目难度 数据处理难度 模型难度 备注 A 高 低 高 需要物理模型和优化算法来预测物体在水中的行为和搜索策略,数据相对简单,主要挑战在于环境模拟和策略优化。 B 中等 高 中等 涉及大数据处理、特征工程、机器学习模型选择和调…

优化网站标题百度seo搜索排名

传送门 文章目录题意:思路:题意: 给你d,modd,modd,mod,让你求能构造出如下序列aaa的个数模modmodmod: 思路: 首先可以发现aaa的长度不能超过log2dlog_2dlog2​d,因为如果存在两个aaa的二进制…

江苏省建设工程设计施工图审核中心网站织梦手机网站怎么做

写在前面 在去年10月份,出过一起关于R语言无法调用stats.dll的问题解决方案,今天(你看到后是昨天)不知道为什么,安装包,一直安装不了,真的是炸裂了。后面再次把R与Rstuido升级。说实话,我是真不…