Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将postman中post操作的id存储在环境变量中?_C#_Api_Asp.net Core_Web Api Testing - Fatal编程技术网

C# 如何将postman中post操作的id存储在环境变量中?

C# 如何将postman中post操作的id存储在环境变量中?,c#,api,asp.net-core,web-api-testing,C#,Api,Asp.net Core,Web Api Testing,我无法在postman测试中设置环境变量。 我的回复体只显示1后做一个POST操作。在响应头中,我得到了传输编码→ 分块,内容类型→应用程序/json;字符集=utf-8等。。。我不知道传输编码是否造成了问题 public JsonResult CreateCustomer([FromBody]Customer-Customer) { 尝试 { BaseDataAccess BaseDataAccess=新的BaseDataAccess(_config[“ConnectionString:D

我无法在postman测试中设置环境变量。 我的回复体只显示1后做一个POST操作。在响应头中,我得到了传输编码→ 分块,内容类型→应用程序/json;字符集=utf-8等。。。我不知道传输编码是否造成了问题

public JsonResult CreateCustomer([FromBody]Customer-Customer)
{
尝试
{
BaseDataAccess BaseDataAccess=新的BaseDataAccess(_config[“ConnectionString:DefaultConnection”]);
列表参数列表=新列表();
parametersList.Add(baseDataAccess.GetParameter(“StatementType”、“Insert”);
parametersList.Add(baseDataAccess.GetParameter(“Name”,customer.Name));
parametersList.Add(baseDataAccess.GetParameter(“Email”,customer.Email));
parametersList.Add(baseDataAccess.GetParameter(“PrimaryPhone”,customer.PrimaryPhone));
parametersList.Add(baseDataAccess.GetParameter(“AlternatePhone”,customer.AlternatePhone));
parametersList.Add(baseDataAccess.GetParameter(“Address1”,customer.Address1));
parametersList.Add(baseDataAccess.GetParameter(“Address2”,customer.Address2));
parametersList.Add(baseDataAccess.GetParameter(“Address3”,customer.Address3));
parametersList.Add(baseDataAccess.GetParameter(“City”,customer.City));
parametersList.Add(baseDataAccess.GetParameter(“State”,customer.State));
parametersList.Add(baseDataAccess.GetParameter(“Country”,customer.Country));
parametersList.Add(baseDataAccess.GetParameter(“Zip”,customer.Zip));
返回Json(baseDataAccess.ExecuteOnQuery(“[dbo].[CreateCustomer]”,参数列表,CommandType.StoredProcedure));
}
捕获(例外e)
{
投掷e;
}
}

我怀疑在这个问题中有几个误解
ExecuteNonQuery
的结果与存储过程的输出代码或结果混淆<代码>返回Json(..)只传递一个数字,但Javascript代码希望响应包含一个对象<代码>环境变量似乎与问题无关

Javascript代码:

var jsonData = JSON.parse(responseBody);
...
.... jsonData.customerId);
期望响应包含一个JSON字符串,该字符串包含一个带有
customerId
属性的单个对象

不过,服务器代码只返回行数:

return Json(baseDataAccess.ExecuteNonQuery("[dbo].[CreateCustomer]", parametersList, CommandType.StoredProcedure));
返回受查询或存储过程影响的行数。插入一行返回1。它不返回存储过程的结果或输出参数

这意味着服务器将有效地执行以下操作:

return Json(1);
响应将包含一个普通的
1

要返回带有
customerId
的JSON对象,代码应更改为:

var newItem=new {customerId=thatNewId;};
return Json(newItem);
这将返回Javascript所期望的
{'customerId:1234}

在不知道存储过程做什么的情况下,人们只能猜测如何提取新ID。C#代码中没有输出参数,因此我假设ID作为单个结果返回,例如:

SELECT @@IDENTITY;
web应用程序应使用:

总而言之:

var thatNewId = baseDataAccess.ExecuteScalar("[dbo].[CreateCustomer]", 
                                              parametersList, 
                                              CommandType.StoredProcedure);
var newItem=new {customerId=thatNewId;};
return Json(newItem);

我假设邮递员代码是正确的,我怀疑这个问题中有几个误解
ExecuteNonQuery
的结果与存储过程的输出代码或结果混淆<代码>返回Json(..)只传递一个数字,但Javascript代码希望响应包含一个对象<代码>环境变量似乎与问题无关

Javascript代码:

var jsonData = JSON.parse(responseBody);
...
.... jsonData.customerId);
期望响应包含一个JSON字符串,该字符串包含一个带有
customerId
属性的单个对象

不过,服务器代码只返回行数:

return Json(baseDataAccess.ExecuteNonQuery("[dbo].[CreateCustomer]", parametersList, CommandType.StoredProcedure));
返回受查询或存储过程影响的行数。插入一行返回1。它不返回存储过程的结果或输出参数

这意味着服务器将有效地执行以下操作:

return Json(1);
响应将包含一个普通的
1

要返回带有
customerId
的JSON对象,代码应更改为:

var newItem=new {customerId=thatNewId;};
return Json(newItem);
这将返回Javascript所期望的
{'customerId:1234}

在不知道存储过程做什么的情况下,人们只能猜测如何提取新ID。C#代码中没有输出参数,因此我假设ID作为单个结果返回,例如:

SELECT @@IDENTITY;
web应用程序应使用:

总而言之:

var thatNewId = baseDataAccess.ExecuteScalar("[dbo].[CreateCustomer]", 
                                              parametersList, 
                                              CommandType.StoredProcedure);
var newItem=new {customerId=thatNewId;};
return Json(newItem);

我假设邮递员代码是正确的

非常努力!但是,如果你认为这是一个答案,你就需要改变这个问题:)至少30%个这样的问题是正确的。你有多少次掉进兔子洞却发现它是错的洞?我上个星期大概损失了一半的时间。它甚至有一个名字,甚至有一个名字,这确实是真的!是的,知道XY的问题。在谈到这一点之前,这对我来说只是一种理论;现在,我可以看到一些实际的例子:DGreat effort!但是,如果你认为这是一个答案,你就需要改变这个问题:)至少30%个这样的问题是正确的。你有多少次掉进兔子洞却发现它是错的洞?我上个星期大概损失了一半的时间。它甚至有一个名字,甚至有一个名字,这确实是真的!是的,知道XY的问题。在谈到这一点之前,这对我来说只是一种理论;现在在这里,我可以看到一些实际的例子:DComments不用于扩展讨论;这段对话已经结束。@murthy如果你把邮递员代码和回复发成短信,人们会立即发现可能的问题。现在他们必须a)在一个新窗口中打开图像-现在简直无法读取。坦率地说,90%的人会到此为止。b) 做