我们使用 AddOpenApiDocument 得到了 Swagger.json 输出(见下文)。
下面的 swagger 片段显示它返回 application/json 的 200 响应类型。模式部分(我不太熟悉)显示“type”:“string”。
当我们从 NSwag.CodeGeneration.CSharp.CSharpClientGenerator 生成并使用客户端时,我们会收到以下错误:
SwaggerException: Could not deserialize the response body stream as System.String.
Status: 200
Response:
---> Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: P.
Path '', line 1, position 1.
Run Code Online (Sandbox Code Playgroud)
招摇的片段
"/api/infrastructure": {
"get": {
"tags": [
"Infrastructure"
],
"operationId": "Infrastructure_Ping",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
生成客户端代码如下所示:
var status_ = (int)response_.StatusCode; …Run Code Online (Sandbox Code Playgroud) 我试图运行批处理文件,start /high仍然得到返回/退出代码,即%ERRORLEVEL%.问题似乎是命令START不返回批处理文件返回的退出代码.
我们有一个简单的批处理文件用于测试命名BatFileThatReturnsOne.bat.
内容BatFileThatReturnsOne.bat是
EXIT /B 1
Run Code Online (Sandbox Code Playgroud)
我们这样称呼:
start /high /wait BatFileThatReturnsOne.bat
Run Code Online (Sandbox Code Playgroud)
但无论批处理文件返回什么,执行start永远不会有%ERRORLEVEL%0(零)以外的任何东西.
这实际上是由CloudFormation中的cfn-init调用的,但这可能不相关,因为我们可以从命令行窗口重现它.
实际的电话是:
cmd.exe /C start /high /wait BatFileThatReturnsOne.bat
Run Code Online (Sandbox Code Playgroud)
如何将start其设置为%ERRORLEVEL%0(零)以外的其他值?
asp.net-core ×1
batch-file ×1
cmd ×1
iphone ×1
nswag ×1
openapi ×1
swagger ×1
windows ×1
xamarin.ios ×1