오픈 API 형식의 API 사양을 기반으로 http 클라이언트 라이브러리를 생성하려고 합니다.
생성하는 데 사용한 명령은 다음과 비슷합니다.
openapi-generator生成-g go -i spec.yaml -o code-gen-go -p packagename=mypackage
이렇게 하면 생성된 코드에 아래와 유사한 구조가 생성됩니다
으아악 어느 httpclient
字段将用于发出请求。理想情况下,应该导入此包,将客户端分配给 httpclient
필드인지 확인하고 이를 통해 http 요청을 할 수 있어야 합니다.
하지만 제 경우에는 맞춤 라이브러리를 사용해 요청해야 합니다. 내 라이브러리가 customhttp
。我必须使用这个库来创建 *customhttp.client
类型的客户端(这只是 *http.client
유형 클라이언트이지만 몇 가지 추가 플러그인이 있다고 가정해 보겠습니다. 어떻게 해야 하나요? 자동으로 생성된 코드를 수동으로 업데이트하지 않고도 이 작업을 수행할 수 있습니까?
인터페이스의 httpclient
的类型是一个实现 do
메소드에 대한 코드를 생성하도록 할 수 있다면 클라이언트에 이를 할당할 수 있을까요? 하지만 나도 무엇을 해야할지 모르겠습니다.
은 go 클라이언트
를 통해 수정 가능합니다.저장소에서 템플릿 가져오기:
으아악이제 로컬 복사본이 생겼습니다. 이 경우 사용자 정의하려는 템플릿을 수정하세요 configuration.mustache
.
여기서 필요한 코드와 모듈을 가져오고 필요한 경우 기존 코드의 이름을 바꿀 수 있습니다. 사용자 정의 클라이언트 라이브러리를 추가하십시오.
계속해서 자신만의 템플릿을 사용하여 코드를 생성하세요.
으아악생성된 코드에는 이제 사용자 정의 코드와 라이브러리가 포함됩니다. 이 접근 방식은 필요한 유연성을 제공하지만 템플릿의 사용자 정의된 버전을 유지 관리하는 비용이 듭니다(예를 들어 향후 업데이트해야 할 수 있음).
참고용 코드 생성에 관한 글입니다.
위 내용은 openapi 사양에서 생성된 클라이언트 go 코드와 함께 사용자 정의 go http 클라이언트를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!