c# - 在邮递员 chrome 中发布请求工作正常,但在本地邮递员中我不断收到 System.NullReferenceException
问题描述
我很少有 C# API 调用 MSSQL 数据库的 Post 和 Get 方法。我使用第二个连接字符串创建了数据库的副本和那些 API 的副本 - 指的是新数据库。
在本机 postman 中,对旧 API 的调用工作正常,我得到结果 200,但对新 API 的调用不断返回状态 400 并且响应正文以:“System.NullReferenceException”在 chrome postman 中,所有 API(旧的和新的)工作正常。
有效载荷(body x-www-form-urlencoded)参数似乎没有转发到本机邮递员的输入类中。
请求头:[{"key":"Content-Type","value":"application/x-www-form-urlencoded","description":""}]
请求正文 x-www-form-urlencoded:
[{"key":"Entranceref","value":"25","description":""},{"key":"Primaryid","value":"1234","description":""} ,{"key":"Secondaryid","value":"1234","description":""},{"key":"Loginip","value":"1.1.1.1","description":" "},{"key":"Useragent","value":"dfgffd","description":""},{"key":"Registrar","value":"0","description":" "},{"key":"Cookieid","value":"rtyu","description":""},{"key":"Cookiecount","value":"1","description":""},{"key":"Languageid","value":"he","description":""}]
状态 - 400 错误请求
回复正文:
“ClassName”:“System.NullReferenceException”,“Message”:“对象引用未设置为对象的实例。”,“Data”:null,
这是 API 输入类
public class MdCheckEvent
{
public string Entranceref { get; set; }
public string Primaryid { get; set; }
public string Secondaryid { get; set; }
public string Loginip { get; set; }
public string Useragent { get; set; }
public int Registrar { get; set; }
public string Cookieid { get; set; }
public int Cookiecount { get; set; }
public string Languageid { get; set; }
}
[HttpPost public HttpResponseMessage PostCheckEnterance([FromBody] MdCheckEvent Inputs)
解决方案
解决了问题:
从头开始编写参数 - 解决了它。它错过了每个参数的类型和启用定义。
奇怪的是它仅在本机版本中有效。
现在有效载荷看起来像这样:
[{"key":"Entranceref","value":"25","description":"","type":"text","enabled":true},{"key":"Primaryid"," value":"1234","description":"","type":"text","enabled":true},{"key":"Secondaryid","value":"1234","description": "","type":"text","enabled":true},{"key":"Loginip","value":"1.1.1.1","description":"","type":"text ","enabled":true},{"key":"Useragent","value":"1313sdasd","description":"","type":"text","enabled":true},{"key":"Registrar","value":"1","description":"","type":"text","enabled":true},{"key":"Cookieid" ,"value":"121ss","description":"","type":"text","enabled":true},{"key":"Cookiecount","value":"1","description ":"","type":"text","enabled":true},{"key":"Languageid","value":"he","description":"","type":"text ","启用":true}]{"key":"Cookieid","value":"121ss","description":"","type":"text","enabled":true},{"key":"Cookiecount","value ":"1","description":"","type":"text","enabled":true},{"key":"Languageid","value":"he","description":" ","type":"text","enabled":true}]{"key":"Cookieid","value":"121ss","description":"","type":"text","enabled":true},{"key":"Cookiecount","value ":"1","description":"","type":"text","enabled":true},{"key":"Languageid","value":"he","description":" ","type":"text","enabled":true}]key":"Languageid","value":"he","description":"","type":"text","enabled":true}]key":"Languageid","value":"he","description":"","type":"text","enabled":true}]
推荐阅读
- reactjs - 如何从理智中获取数据到 Nextjs
- java - 可以释放+获取中断发生之前吗?
- python - numpy 数组的屏蔽部分中的所有元素的集合
- javascript - findOne 给了我和猫鼬的错误
- react-native - 我收到一条关于我的应用程序中不存在的代码行的警告
- django - 为什么我的按钮不返回“POST”django?
- angular - 如何在 Angular 中调用 web api,它将使用用户 IP 地址
- .htaccess - 用于 URL 的 HTA 访问以删除带有参数的尾部斜杠
- php - 使用 php 从字符串 dd.mm.YY 获取 YY
- visual-studio-code - Visual Studio 代码 UI 表现得很奇怪