Java-клиент веб-сервиса "Морфер" 3.0
Если вам удобнее учиться на примерах, мы разработали для вас рабочий пример с демонстрацией всех функций веб-сервиса:
Этот пример подключает данную библиотеку через Maven и вызывает функции веб-сервиса для русского и украинского языков.
Работа с веб-сервисом осуществляется за счет основного класса ru.morpher.ws3.Client, который реализует все функции веб-сервиса.
Чтобы создать стандартный (без параметров) экземпляр класса Client, достаточно вызвать ClientBuilder.build():
importru.morpher.ws3.*;
Clientclient = newClientBuilder().build();Однако для полноценной работы с веб-сервисом крайне рекомендуется зарегистрироваться и получить token, который потом передается в ClientBuilder:
Clientclient = newClientBuilder().useToken("my-token").build();Отлично! Теперь веб-сервис вас ни с кем не спутает, случайно не заблокирует и у вас будет свой собственный счетчик запросов.
DeclensionResultrussianDeclensionResult = client.getRussian().declension("ёлка");
StringnominativeCase = russianDeclensionResult.getNominativeCase();
// Для других падежей:// .getGenitiveCase() - Родительный падеж// .getDativeCase() - Дательный падеж// .getAccusativeCase() - Винительный падеж// .getInstrumentalCase() - Творительный падеж// .getPrepositionalCase() - Предложный падежif (russianDeclensionResult.getPlural() != null) {
StringpluralNominativeCase = russianDeclensionResult.getPlural().NominativeCase();
// Для других падежей - аналогично единственному числу.
}Также есть возможность получения дополнительной информации (платно):
// .getPrepositionalCaseWithO() - Предложный падеж с предлогом О/ОБ/ОБО// .getWhere() - Предложный падеж с предлогом В/НА, отвечает на вопрос Где?// .getTo() - Куда?// .getFrom() - Откуда?Определение рода (платно):
Stringgender = russianDeclensionResult.getGender();Namename = russianDeclensionResult.getName();
if (name != null) { // Это ФИОStringsurname = name.getSurname(); //ФамилияStringgivenName = name.getGivenName(); //ИмяStringpatronymic = name.getPatronymic(); //Отчество
}SpellingResultrussianSpellingResult = client.getRussian().spell(123, "ёлка");
StringnumberNominativeCase = russianSpellingResult.getNumber().getNominativeCase();//сто двадцать триStringunitNominativeCase = russianSpellingResult.getUnit().getNominativeCase(); //ёлкиStringnominativeCase = russianSpellingResult.getNominativeCase(); //Сто двадцать три ёлкиСклонение по падежам аналогично функции declension (см. выше), т.е. .getGenitiveCase(), .getDativeCase() и т.д.
AdjectiveGendersrussianAdjectiveGenders = client.getRussian().adjectiveGenders("ёлочный");
StringfeminineGender = russianAdjectiveGenders.getFeminine();//Женский родStringneuterGender = russianAdjectiveGenders.getNeuter(); //Средний родStringplural = russianAdjectiveGenders.getPlural(); //Множественное числоList<String> adjectives = client.getRussian().adjectivize("Мытищи");DeclensionResultukrainianDeclensionResult = client.getUkrainian().declension("ялинка");
StringnominativeCase = ukrainianDeclensionResult.getNominativeCase();
// Для других падежей// .getGenitiveCase() - родовий відмінок// .getDativeCase() - давальний відмінок// .getAccusativeCase() - знахідний відмінок// .getInstrumentalCase() - орудний відмінок// .getLocativeCase() - місцевий відмінок// .getVocativeCase() - кличний відмінокОпределение рода (платно):
Stringgender = ukrainianDeclensionResult.getGender();SpellingResultukrainianSpellingResult = client.getUkrainian().spell(123, "ялинка");
StringnumberNominativeCase = ukrainianSpellingResult.getNumber().getNominativeCase(); //сто двадцять три StringunitNominativeCase = ukrainianSpellingResult.getUnit().getNominativeCase(); //ялинкиStringnominativeCase = ukrainianSpellingResult.getNominativeCase(); //Сто двадцять три ялинкиСклонение по падежам аналогично функции declension (см. выше), т.е. .getGenitiveCase(), .getDativeCase() и т.д.
Для использования библиотеки в своем проекте рекомендуется подключить ее через Maven:
Добавьте в файл pom.xml репозиторий, который содержит библиотеку:
<repositories>
<repository>
<id>morpher-ws3-java-client-mvn-repo</id>
<url>https://raw.github.com/morpher-ru/morpher-ws3-java-client/mvn-repo</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>Добавить зависимость на клиент:
<dependencies>
<dependency>
<groupId>ru.morpher</groupId>
<artifactId>ws3.client</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>