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

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

WBOY
WBOY앞으로
2024-02-06 09:55:07538검색

如何将自定义 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으로 문의하시기 바랍니다. 삭제