当前位置: 首页 > news >正文

建设垂直网站需要哪些流程策划公司名称

建设垂直网站需要哪些流程,策划公司名称,网站开发用什么框架合适,校园二手交易网站要怎么做呀由于工作需要会经常需要Fiddler抓包Chrome F12抓包然后根据抓包写代码来模拟#xff0c;一般来说我都是先抓包#xff0c;打开postman把抓来的包放到postman里面模拟请求然后利用PostMan的生成代码功能大部分的Reponse都是Json#xff0c;为了方反列化接着要打开一个在线工具… 由于工作需要会经常需要Fiddler抓包Chrome F12抓包然后根据抓包写代码来模拟一般来说我都是先抓包打开postman把抓来的包放到postman里面模拟请求然后利用PostMan的生成代码功能大部分的Reponse都是Json为了方反列化接着要打开一个在线工具将json转成模型(POJO)前段时间我研究了下postman觉得json转POJO这个步骤可以直接在postman的代码生成器的逻辑里面做掉是通过修改了postman的源码的方式实现的。具体做法postman工具的代码生成工具image如上图可以快速把你的request转成code减少重复性劳动。但是有一点我觉得可以优化下 就是返回的json如果也能自动转成代码就好了。不然在需要把json序列化成java或者csharp的POJO对象时还得自己coding转一遍。由于最近经常会用到这个功能虽然我找到一个站点把json复制粘贴进去然后点个按钮就可以转成POJO但是我觉得还是有很多重复性的劳动。对我我这种懒人postman又没有提供可扩展的功能。该怎么办呢分析postmanpostman是基于Electron框架的一个产品如下图可以把ChromeTool打开尝试一LocalOverrides功能这个功能可以修改代码后 保存到你的本机磁盘然后下一次就会检测 如果有设置localOverrides的话就用你修改过后的代码结论postman比较是一个商业工具它内部有检测机制开启这个功能就会不能正常使用所以放弃尝试二直接修改postman的源码1.定位到postman的源码如下图是一个asar文件image2.安装asar工具解压到本地安装asar工具npm install -g asarimage定位到postman的asar目录解压出来asar extract app.asar appimage3.找到源码找源码的过程我就不说了 这里面要实现我上面说的功能 需要修改2个js源码vendor-shared.js --》这是postman的主源码 有几百万行代码postman-code-generators.js --》这个是代码生成的逻辑4. 修改vendor-shared.js源码定位到483842行 加入代码 就是在点击发送请求后postman拿到代码如果是json格式的话 就存到本地缓存中imageconst transformResponseForLanguage  {json: function (value) {// This unescape step handles escape sequences like -// 1. Unicode code points - hexadecimal - fixed length - \uD834// 2. Special escape characters - \/// 这里加try {localStorage.setItem(_current_reponse_json, value);} catch (e) {}return Object(_js_modules_services_StringUnescape__WEBPACK_IMPORTED_MODULE_9__[unescape])(value);} };image4. 修改postman-code-generators.js源码原理说明这里是在网上找了一个接口传json就可以转成代码 这里注意一下用的xhr同步的方式调用异步的方式postman我测试了不行因为postman的上游代码是直接拿结果的改成异步的话上游代码也得改这个功能其实同步也还好就比之前稍微慢了1秒左右定位到632行 这里是生成csharp代码//下面加入json转POJO的代码 try {var input  localStorage.getItem(_current_reponse_json);var code  ;if(input){var requestType  {input : input,operationid:jsontocsharp,settings:{UsePascalCase:true,UseJsonAttributes:false,UseFields:false,UseJsonPropertyName:false}};var data  JSON.stringify(requestType);var xhr  new XMLHttpRequest();xhr.addEventListener(readystatechange, function() {if(this.readyState  4) {var next  false;var result  [];for(var i  0;i this.responseText.length;i){var item  this.responseText[i];if(item  \){}else if(item  \\ || item  /){next  true}else if(next){next  false,result.push(\n)}else{result.push(item)}}code \n //Deserialize json response to POJO \nresult.join().replace(myJsonResponse,response.Content); }});xhr.onerror  function () {return callback(null, headerSnippet  snippet  footerSnippet);}xhr.open(POST, https://json2csharp.com/api/Default,false);xhr.setRequestHeader(Accept, */*);xhr.setRequestHeader(X-Requested-With, XMLHttpRequest);xhr.setRequestHeader(Content-type, application/json);xhr.send(data);return callback(null, headerSnippet  snippet  code  footerSnippet);} } catch (e) {return callback(null, headerSnippet  snippet  footerSnippet); }定位到16668行 这里是生成java代码//下面加入json转POJO的代码 try {var input  localStorage.getItem(_current_reponse_json);var code  ;if(input){var requestType  {input : input,operationid:jsontopojo,settings:{UseProperties:false}};var data  JSON.stringify(requestType);var xhr  new XMLHttpRequest();xhr.addEventListener(readystatechange, function() {if(this.readyState  4) {var next  false;var result  [];for(var i  0;i this.responseText.length;i){var item  this.responseText[i];if(item  \){}else if(item  \\){next  true}else if(next){next  false,result.push(\n)}else{result.push(item)}}code \n //Deserialize json response to POJO \nresult.join().replace(myJsonResponse,response.Content); }});xhr.onerror  function () {return callback(null, headerSnippet  snippet  footerSnippet);}xhr.open(POST, https://json2csharp.com/api/Default,false);xhr.setRequestHeader(Accept, */*);xhr.setRequestHeader(X-Requested-With, XMLHttpRequest);xhr.setRequestHeader(Content-type, application/json);xhr.send(data);snippet  snippet  code;} } catch (e) {}image5.源码修改后重新打包成asar文件asar pack app app.asarimage搞定验证结果java的方式imagecsharp的方式imageimage这个方案不够完美这个方案虽然解决了一部分重复性劳动还有一点比较恶心的是每次postman被强制升级后我又得重复搞一下。最近又想到了一个新的方案搞一个fildder的插件搞出来后我在和大家分享我是正东,学的越多不知道也越多。如果决定去深究一个东西, 一定要完全搞懂, 并认真总结一篇博客让以后能在短时间拾起来 ( 因为不搞懂你很难写一篇半年后还能理解的博客 )欢迎白嫖点赞
http://www.pierceye.com/news/159358/

相关文章:

  • 钟祥建设局网站网页样式与布局
  • j建设银行信用卡网站天河外贸网站建设
  • 石家庄网站建设招商wordpress漫画主题
  • 河南省建设厅网站查询佛山著名网站建设公司
  • 山东搜点网站建设哪家公司做网站最好
  • 云购物网站建设wordpress离线编辑
  • 有没有网站开发团队郑州网站制作电话
  • 网站怎么做登陆免费虚拟机
  • 中国移动网站备案管理系统不能用科普网站建设的支持力度
  • 谁教我做啊谁会做网站啊企业网站模板seo
  • 自己建立一个网站需要什么wordpress 平衡插件
  • 邯郸手机建站价格青海网站开发 建设
  • 苏州 手机网站免费个人简历模板电子版可填写
  • 永州内部网站建设公司wordpress 模版开发
  • 云建站优势门户网站如何建设方案
  • 网站建设收费标准不一湖州网站开发公司
  • asp制作网站青岛建网站公司
  • 人人商城程序做的网站打不开百度网盘客户端下载
  • 医疗器械注册证查询网站优化推广服务
  • 网站制作网页做简单的网站首页
  • 怎样做网站上的语种链接泰安网络犯罪案件
  • soap公司网站建设国家游戏网站
  • 网站可以用什么做安阳区号是什么
  • 网站建设实战李静如何建设网站的能力
  • 威海 网站开发做家具的网站有哪些
  • 宁波网站建设公司怎么报价网页打开速度慢的解决方法
  • 有趣的网站有哪些推荐关键词没有排名的网站怎么做
  • 昆山网站制作哪家强海淀区企业网络公司
  • 北京网站制建设公司永兴县网站建设服务商
  • 嘉兴做网站优化公司江阴网站优化公司