Swagger API 정의를 C# .NET 클라이언트 코드로 변환 한 경험이 많은 사람이 있습니까?Swagger API 정의에서 C# 클라이언트 코드의 기본 인수 값을 추가하는 방법
대부분 Swagger Editor이 정상적으로 작동하지만 일부 호출의 경우 생성 된 코드에 필수 인수가 많이 포함되어 있습니다. 예 (단지 설명을위한 절단 인수 목록) :
GetCustomers(bool? includeDeceased, string postalCode, string id, string dateAdded)
우리는 명시 적으로 널 (null) 인수를 제공하는 것을 피하기 위해 디폴트 값으로 정의 할 수 생성 된 매개 변수 목록을하고 싶습니다. 이 같은 일이 :
GetCustomers(postalCode: "12345")
보다는 :
GetCustomers(includeDeceased: null, postalCode="12345", id: null, dateAdded: null)
우리는 자신감 호출 정의 곳으로 "default": null
를 추가하려고했습니다
GetCustomers(bool? includeDeceased = null, string postalCode = null, int? id = null, string dateAdded = null)
이것은 우리가 다음 전화를 걸 수 있습니다 적절하지만 원하는 코드가 생성되지는 않습니다 (실제로 변경되지 않으므로 지원되지 않을 수도 있음).
우리는 코드를 최신 API 정의로 쉽고 빠르게 업데이트 할 수 있도록 피하고 싶지 않은 결과 클라이언트 코드를 수동으로 수정하는 것보다는 조금 꼼꼼합니다.
나는 API를 소유하고 개발했다고 가정하고 변경할 수 있습니다. 그렇다면이 SO 항목을보고 yaml을 만들어 매개 변수가 nullable이며 기본값 (응답에 대한 주석 참조)과 함께 만들 수있는 방법을 살펴보십시오. [Swagger에서 Nullable Fields] (https://stackoverflow.com/questions/38139657/nullable-fields-in-swagger-on-node-js/38140597#38140597) –
@FrankFajardo 아니요, 아닙니다. 그러나 Swagger 정의에 대한 수정을 요청하거나 필요할 경우 스크립트 변경을 요청할 수 있습니다. 하지만 문제는 실제로 'Swagger Editor'CsharpDotNet2 클라이언트 코드 생성기입니다.'csharp '가 예상대로 작동합니다. 아래 내 대답을 참조하십시오. – SteveCinq