1、问题分析
在做接口测试时,偶然出现了前端输出有值,但是后端断点调试时却出现接收参数总是为null的情况
2、解决办法
前端打印log,看前端的每一个传值的数据类型,与后端请求参数类进行认真的一一比对
小技巧:
① 直接打印调用接口的传参值的数据类型,例如
console.log(type of this.form.name) --string
console.log(type of this.form.age) --number
打印的数据类型与后端接口的参数类比对,查出不对应的类型
② 关于非必填的值,默认传值可能出现空字符串(' ')、NaN值(Not a Number
## 分析原因
利用ICSharpCode.SharpZipLib.dll解析APK时,进入APK的AndroidXml获取时出现报错
## 出错代码
```csharp
using (ICSharpCode.SharpZipLib.Zip.ZipInputStream zip = new ICSharpCode.SharpZipLib.Zip.ZipInputStream(File.OpenRead(path)))
{
using (var filestream = new FileStream(path, FileMode.Open, FileAccess.Read))
{
分析原因
利用ICSharpCode.SharpZipLib.Zip进行APK解析时,因为APK内编译的名称为中文,查询微软开发文档936为gb2312中文编码
[微软开发文档地址](https://docs.microsoft.com/zh-cn/windows/win32/intl/code-page-identifiers "微软开发文档地址")
```csharp
// 错误代码
using (ZipInputStream zip = new ZipInputStream(File.OpenRead(path)))
{
using (var filestream = new
开发项目框架为.net framework,遇到此问题原因是笔者在做接口转发时接口返回类型直接定义为了object类型,这导致格式化返回结果时出现如标题异常,具体代码如下:
```csharp
try
{
var result = XXXWepApi.WebApiPost<请求参数类, object>("api/xxx接口地址", new 请求参数类());
if (result != null)
{
if (result.Code == "200")
return SuccessResult(result.Data);
else
下载Microsoft Visual Studio 2010 Shell(Isolate)-CHS安装即可
下载地址:Visual Studio 独立 Shell
下载及安装:点击同意许可,选择vs2010独立shell(zh-CN)
安装完成,重启SQL ServerManagement Studio 即可