tnblog
首页
视频
资源
登录

WebApi中间件框架注意事项

6965人阅读 2020/5/26 17:06 总访问:400084 评论:0 收藏:1 手机
分类: WebApi

 在写调用WebApi接口的中间件框架时,有些类型错误,需要记录一下。

像这种code返回成功!出参却没有数据,错误原因有几种情况!

1,我们的出参需要映射系统WebApi的出参字段,要保证映射的字段名称不出错,如图:

   

2,字段的类型也要和映射的字段类型保持一致。

3,需要自己调试,看看请求的表的参数是否有符合入参条件的数据,值是否有。(可先查询数据库)

4,实在不行的话,可能就是遇到出参类型不一致的情况,如下图:


像这种情况,出参的数据类型有ArrayList,对象,那我们映射的时候情况如下:


我们的入参数据经过Json序列化+加密打包,异步 调用请求url,  返回结果

出参的时候反序列化+解密得到数据。

  1.             var model = JsonConvert.DeserializeObject<ResponseModel>(await response.Content.ReadAsStringAsync(), JsonSettings.Current);
  2.             //检查响应代码
  3.             model.CheckResponseCode();
  4.             var payJToken= JsonConvert.DeserializeObject<JToken>(model.Data.DesToString(_options.Key, _options.Iv));
  5.             var outFeeInfoRtn = _mapper.Map<List<OutFeeInfo>>(payJToken["OutFeeInfos"]);
  6.             var arrayRtn = _mapper.Map<ArrayList>(payJToken["Array"]);
  7.             var prepaySettlementRtn = new PrepaySettlementViewModel();
  8.             prepaySettlementRtn.Array = arrayRtn;
  9.             prepaySettlementRtn.FeeInfo = outFeeInfoRtn;
  10.             
  11.                   return new BaseViewModel
  12.                         {
  13.                             Code = model.Code,
  14.                             Message = model.Message,
  15.                             Data = prepaySettlementRtn
  16.                         };


我们就只能单个映射ArrayList类型和实体类型,最后实例ViewModel,完美得到出参数据!

做出来之后感觉很棒,虽然过程繁琐了些。。。


下面介绍这种错误!


这是测试某个接口时候,入参调用数据,返回的错误信息!

百度的讲解:


仔细检查了之后,发现原因:由于自己测试接口用的oracle数据库是本地的,没有更新,然而系统的库存在被被人修改,添加参数的情况,

自己的本地库却没有进行更新操作,所以这种是自己库的某张表缺少字段,而你要进行增删改操作时就无法写入数据。

解决方法:找到具体的方法,查询具体的实习方法,看sql语句操作的那些表,需要添加字段。

  1. -- Add/modify columns 
  2. alter table F_OP_FEEDETAIL add AUDIT_IDvarchar2(10);
  3. -- Add comments to the columns 
  4. comment on column F_OP_FEEDETAIL.AUDIT_ID
  5.   is '审阅人ID';


添加好字段之后在调试接口就行了,可能有些不单是一张表有错哦,所以需要耐心调试呢!

评价

为什么要使用webapi而不直接使用controller

彼年豆蔻,谁许谁地老天荒。webapi能做的事情,controller都能做,为什么要使用webapi而不直接使用controller呢?这就好比...

webapi转json格式

创建WebApi项目时出现的xml格式,每次都去转换比较麻烦在Global设置全局输出json格式://直接xml干掉为json GlobalConfigu...

控制台应用程序托管webapi

在没有iis的情况下,webapi是可以自托管的so,我们从写一个webapi程序开始:1、创建一个控制台应用程序,然后在控制台应用...

.net core上传图片,文件。webapi 上传图片文件

上传图片的前台代码都完全一样,直接来贴后台的代码吧publicActionResultUploadImage(List&lt;IFormFile&gt;upfile) { ...

使用swagger创建webapi文档描述---详解

在前后端分离开发中,作为后端如何给前端提供有效直观的接口文档呢?没错,就是使用swagger 俗称“丝袜哥”教程:一、首先...

通过PlUpload控件配合webapi接口完成压缩上传文件

最近一段时间都在使用PlUpload做文件上传的功能,研究过后感觉使用起来体验还是比较好的,不过网上的资料很多都记录的很简...

webapi传递大数据

在接口中传输图片进制流或BASE64字符串时,使用FormUrlEncodedContent处理参数时,可能会因为参数太长导致异常无效的URL:U...

AJAX调用webapi上传图片或文件。设置token,设置Authorization Bearer

AJAX调用webapi上传图片或文件,并返回刚上传的文件名。废话不多说直接贴代码吧html相关:&lt;!DOCTYPEhtml&gt; &lt;html&...

webapi与rpc区别

首先说rpc,rpc的定义是远程过程调用,通俗讲就是客户端通过网络远程调用服务端的方法,比如一个用java写的method。rpc是基...

.NET HttpClient和webapi相关的东东先记录一点。传递Authorization headertoken

get请求传递Authorization header,tokenstringurl=&quot;你请求的url&quot;; stringtoken=&quot;yourtoken&quot;; Http...

webapi报错:Attribute routes with the same name 'Get' must have the same template

是因为 asp.net core 中默认创建的 api controller 中的 Get(id) Action的属性都是[HttpGet(&quot;{id}&quot;, Name = &quo...

net core webapi版本控制

webapi的版本控制好处很多,要实现其实也比较简单。在webapi中根据不同的版本创建文件夹。然后在不同的api里边添加不同的路...

net core webapi路由

如下我们可以通过路由传递两个参数请求地址参考如下: https://localhost:5001/api/home/aojiancc2/2622最后两个可以作为参...

.net webapi Newtonsoft.Json返回需要的字段,忽略某些字段,修改字段名,动态返回需要的字段等

有时候我们在写webapi的时候,不想把正常用的对象所有字段都返回,我们需要进行一些筛选,忽略某些字段,大概说一下几种方法...

.net core webapi json相关,全局配置,时间格式化首字母小写等

在ConfigureServices中可以进行全局json配置,例如,全局处理一下事件格式问题services.AddMvc(option=&gt; { //option.F...

net core webapi运用自定义json格式

接上一篇net core api json相关,全局配置,时间格式化,首字母小写等:http://www.tnblog.net/aojiancc2/article/details/2...
你之所以觉得时间一年比一年过得快,是因为时间对你一年比一年重要。
排名
13
文章
64
粉丝
20
评论
30
MUI框架页面间的传值指针
XingDy姐 : 不错哦
MUI框架页面间的传值指针
剑轩 : 接口的真实地址可以用xx/yy什么的代替哦,真实地址还是隐藏一下好
.NET EF 用户按钮权限
YOU : 可以,在写文章的时候,有需要写代码的地方,可以选择编辑器上的代...
.NET EF 用户按钮权限
剑轩 : 哈哈哈哈,你这个追女生的逻辑
EF三种模式解析
剑轩 : 好文采!
重要sql语句和linq,lamdba分组条件查询语句
剑轩 : 开头那句诗句写得很好哇!
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
是我,慈祥的希姆莱爷爷哒!快进来让我摸摸。