Когда Когда дело доходит до сбора показателей из этих RestTemplate с помощью Micrometer, я обнаружил, что URI не шаблонизированы в тегах. Например, при использовании конечной точки REST, такой как /customers/{cid}, я бы хотел, чтобы метрика Micrometer была помечена тегом uri=/customers/{cid}. Однако вместо этого мы обнаруживаем, что метрика помечена тегами uri=/customers/customer1, uri=/customers/customer2 и т. д. Это фактически делает этот тег для нас бесполезным.
Обратите внимание на этот вопрос: если RestTemplate разрешено самому создавать шаблоны, то метрика будет помечена так, как я хочу.
Однако, сгенерированный код всегда выглядит так:
Код: Выделить всё
String path = UriComponentsBuilder.fromPath("/customers/{cid}").buildAndExpand(uriVariables).toUriString();
Наша конфигурация плагинов выглядит следующим образом. При использовании версии openapi-generator она также выглядит аналогично. Я пробовал поиграться с некоторыми параметрами конфигурации, но безрезультатно.
Код: Выделить всё
io.swagger
swagger-codegen-maven-plugin
generate
${project.basedir}/src/main/resources/my-spec.yml
java
false
false
true
${my.groupId}.model
${my.groupId}.api
${my.groupId}
${my.groupId}
api
false
true
java8-instant
resttemplate
РЕДАКТИРОВАТЬ: после более детального изучения версия кода openapi-generator-maven-plugin похоже, делает что-то, что я ожидал бы использовать RestTemplate для шаблонов URL-адресов. Однако в RestTemplateExchangeTagsProvider urlTemplate по-прежнему имеет значение null.
Подробнее здесь: https://stackoverflow.com/questions/768 ... sttemplate