Это имя происходит от нескольких @Api
аннотаций, которые устанавливаются при настройке API конечных точек.Похоже, вы, вероятно, начали с примера appengine-java8 / endpoints-v2-backend , который имеет следующее объявление:
@Api(
name = "echo",
version = "v1",
namespace =
@ApiNamespace(
ownerDomain = "echo.example.com",
ownerName = "echo.example.com",
packagePath = ""
),
...
Полное определение можно увидеть в Echo.java .
Здесь важно отметить и поле name
, и поле ownerDomain
из namespace
.Оба из них вместе используются для генерации пакета Java, к которому будет принадлежать код, но сегменты пути ownerDomain
меняются местами (как это стандартно в пакетах Java, которые представляют иерархию в противоположном направлении от обычных сегментов DNS)поэтому пакет Java в конечном итоге становится com.example.echo.echo
.Класс Java назван в честь поля @Api.name
(с заглавной буквы), поэтому имя класса просто Echo
.
Итак, полный класс Java, который вы ищете:
com.example.echo.echo.Echo
или, для вашего точного фрагмента кода:
com.example.echo.echo.Echo.Builder
Это может сбить с толку, потому что в этом примере много раз используется слово "эхо", трудно определить, где находится каждый отдельный echo
Исходя из этого, но вот еще один пример:
Допустим, вы установили @Api.name
на myApiName
, а затем установили @Api.namespace.ownerDomain
на mycompany.com
.Полностью квалифицированный класс Java, который вы будете использовать из сгенерированной клиентской библиотеки:
com.mycompany.myApiName.MyApiName
Однако я бы не рекомендовал вам пытаться вручную выяснить, какие Java-пакет и имя класса основаны на этих правилах.,Гораздо проще сделать, просто взглянуть на клиентскую библиотеку, сгенерированную конечными точками.
Когда вы запускаете gradle endpointsClientLibs
, команда выводит местоположение сгенерированного файла в виде .zip
файла.Все, что вам нужно сделать, это разархивировать этот файл и изучить весь сгенерированный код внутри него, чтобы легко увидеть, как выглядит структура пакета Java, и даже точные определения классов, которые Endpoints генерирует для вас.
Если выУ вас возникли проблемы с поиском этих классов в вашей среде IDE. Интересно, возможно, вы случайно пропустили шаги 4-7 из Создание клиентской библиотеки Инструкции:
4) Unzip the file using the unzip utility, or use another ZIP-compatible unarchiving utility:
unzip ./echo-v1-java.zip
5) Change directory: cd echo.
6) Build the client library:
gradle build
The output is in the `build/libs` directory. The exact filename depends on the version of the Java client. It is something like echo-v1-1.23.0-SNAPSHOT.jar.
7) Add the client library JAR to your Java or Android app.