@@ -206,6 +206,9 @@ 只输出 JSON(不要 markdown 围栏、不要解释),结构如下:
206206 "inputParams": [ // 接口入参
207207 { "paramCode": "userId", "paramName": "用户id", "paramType": "string", "paramPosition": "body", "required": 1, "description": "用户唯一标识" }
208208 ],
209+ "headerParams": [ // 接口 Header 配置(鉴权/内容类型等)
210+ { "paramCode": "Authorization", "paramName": "授权令牌", "paramType": "string", "required": 1, "description": "Bearer 令牌" }
211+ ],
209212 "outputParams": [ // 接口出参(响应字段)
210213 { "paramCode": "name", "paramName": "姓名", "paramType": "string", "required": 0, "description": "用户姓名" }
211214 ]
@@ -215,7 +218,7 @@ 只输出 JSON(不要 markdown 围栏、不要解释),结构如下:
215218 规则:
216219 1. suiteCode/methodCode 用英文小驼峰或下划线,全局唯一。
217220 2. 每个接口必须有 methodCode、methodName、url、requestType。
218- 3. 根据接口功能合理设计 inputParams(POST 多为 body、GET 多为 query)与 outputParams(响应字段),paramType 取 string/integer/double/boolean/object/array。
221+ 3. 根据接口功能合理设计 inputParams(POST 多为 body、GET 多为 query)、headerParams(需要鉴权时生成 Authorization 等,无需鉴权的接口可为空数组) 与 outputParams(响应字段),paramType 取 string/integer/double/boolean/object/array。
219222 4. 接口数量与需求匹配,不要遗漏也不要过度添加。
220223 """ ;
221224 var userPrompt = $ """
@@ -266,6 +269,7 @@ private static object ExtractAndValidateApis(string content)
266269 url = GetStr ( a , "url" ) ,
267270 requestType = GetStr ( a , "requestType" ) == "GET" ? "GET" : "POST" ,
268271 inputParams = ExtractParamArray ( a , "inputParams" ) ,
272+ headerParams = ExtractParamArray ( a , "headerParams" ) ,
269273 outputParams = ExtractParamArray ( a , "outputParams" )
270274 } ) ;
271275 }
@@ -321,8 +325,9 @@ public async Task<object> ApplyApisAsync(List<Dictionary<string, object?>>? suit
321325 await _db . SaveChangesAsync ( ) ;
322326 createdApis ++ ;
323327
324- // 写入接口入参/出参(paramType: 1=入参 2=出参)
328+ // 写入接口入参/header/ 出参(paramType: 1=入参 4=header 2=出参)
325329 createdParams += await SaveApiParamsAsync ( apiEntity . Id , code , 1 , ToParamList ( a . GetValueOrDefault ( "inputParams" ) ) ) ;
330+ createdParams += await SaveApiParamsAsync ( apiEntity . Id , code , 4 , ToParamList ( a . GetValueOrDefault ( "headerParams" ) ) ) ;
326331 createdParams += await SaveApiParamsAsync ( apiEntity . Id , code , 2 , ToParamList ( a . GetValueOrDefault ( "outputParams" ) ) ) ;
327332 }
328333 return new { createdSuites , createdApis , createdParams } ;
@@ -370,7 +375,7 @@ private async Task<int> SaveApiParamsAsync(long ownerId, string ownerCode, int p
370375 ParamCode = code ,
371376 ParamName = p . GetValueOrDefault ( "paramName" ) ? . ToString ( ) ?? code ,
372377 DataType = p . GetValueOrDefault ( "paramType" ) ? . ToString ( ) ?? "string" ,
373- Required = p . GetValueOrDefault ( "required" ) is int r ? r : 0 ,
378+ Required = p . GetValueOrDefault ( "required" ) switch { int r => r , long rl => ( int ) rl , _ => 0 } ,
374379 DefaultValue = p . GetValueOrDefault ( "defaultValue" ) ? . ToString ( ) ,
375380 Description = p . GetValueOrDefault ( "description" ) ? . ToString ( ) ,
376381 ParamPosition = p . GetValueOrDefault ( "paramPosition" ) ? . ToString ( ) ,
@@ -429,7 +434,7 @@ private async Task<int> SaveParamsAsync(long ownerId, string ownerCode, int para
429434 ParamCode = code ,
430435 ParamName = p . GetValueOrDefault ( "paramName" ) ? . ToString ( ) ?? code ,
431436 DataType = p . GetValueOrDefault ( "paramType" ) ? . ToString ( ) ?? "string" ,
432- Required = p . GetValueOrDefault ( "required" ) is int r ? r : 0 ,
437+ Required = p . GetValueOrDefault ( "required" ) switch { int r => r , long rl => ( int ) rl , _ => 0 } ,
433438 DefaultValue = p . GetValueOrDefault ( "defaultValue" ) ? . ToString ( ) ,
434439 Description = p . GetValueOrDefault ( "description" ) ? . ToString ( ) ,
435440 ParamPosition = p . GetValueOrDefault ( "paramPosition" ) ? . ToString ( ) ,
0 commit comments