openapi 사양에서 생성된 클라이언트 go 코드와 함께 사용자 정의 go http 클라이언트를 사용하는 방법

WBOY
풀어 주다: 2024-02-06 09:55:07
앞으로
588명이 탐색했습니다.

如何将自定义 go http 客户端与从 openapi 规范生成的客户端 go 代码结合使用

질문 내용

오픈 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿