Гость
Форумы / Java [игнор отключен] [закрыт для гостей] / Статик переменная в аннотации класса / 10 сообщений из 10, страница 1 из 1
16.06.2019, 09:59
    #39826909
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статик переменная в аннотации класса
Всем привет!
Хочется сделать как-то так, но понимаю, что это стандартно никак не решить, может быть есть решение или как-то по другому это сделать можно, чтобы в маппинг добавлять переменную. А может вообще проперти как-то использовать?
Смотреть на вторую строку ... VersionUtils.versionApi + ...

Код: java
1.
2.
3.
4.
5.
6.
@RestController
@RequestMapping(value = VersionUtils.versionApi + "/dashboard") // здесь в переменной "/v1" лежит
@Api(description = "Описание DashboardController", tags = "Dashboard")
public class DashboardController {
...
}
...
Рейтинг: 0 / 0
16.06.2019, 10:05
    #39826913
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статик переменная в аннотации класса
ааа, туплю)
надо было:
public static final String versionApi = "/v1";
...
Рейтинг: 0 / 0
16.06.2019, 10:29
    #39826918
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статик переменная в аннотации класса
Nixic,
А код другой версии тоже поменяется?
..
Если код почти не меняется, то крайне не рекомендуется втыкать версию в урл.
...
Рейтинг: 0 / 0
17.06.2019, 14:44
    #39827246
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статик переменная в аннотации класса
PetroNotC SharpNixic,
А код другой версии тоже поменяется?
..
Если код почти не меняется, то крайне не рекомендуется втыкать версию в урл.
там только префикс может потом добавиться, то есть сам номер версии он там не хранится, просто попросили так назвать класс, не совсем логично, но потом, если что поменяем... Хотя как обычно бывает - так оно и останется)))
...
Рейтинг: 0 / 0
17.06.2019, 14:46
    #39827247
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статик переменная в аннотации класса
Nixic, по-разному можно...а можно не париться и ожидать версию api от клиента в заголовке accept и в зависимости от нее отправлять куда надо. А сам адрес endpoint`а вообще оставить неизменным на всю жизнь.
...
Рейтинг: 0 / 0
17.06.2019, 14:57
    #39827259
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статик переменная в аннотации класса
ОзверинNixic, по-разному можно...а можно не париться и ожидать версию api от клиента в заголовке accept и в зависимости от нее отправлять куда надо. А сам адрес endpoint`а вообще оставить неизменным на всю жизнь.
Можно подробнее?
...
Рейтинг: 0 / 0
17.06.2019, 15:09
    #39827272
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статик переменная в аннотации класса
Nixic,
Не понял, префикс или версия.
Желательно не менять. Но по факту многие меняют.
Нужно обосновывать и лучше начать со стабильного урл без версии, а версию полем в json.
...
Рейтинг: 0 / 0
17.06.2019, 15:15
    #39827279
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статик переменная в аннотации класса
andreykaTОзверинNixic, по-разному можно...а можно не париться и ожидать версию api от клиента в заголовке accept и в зависимости от нее отправлять куда надо. А сам адрес endpoint`а вообще оставить неизменным на всю жизнь.
Можно подробнее?


я не очень понял, что тут не понятно.
Есть один адрес endpoint`а - http://api.ooo.ru/issues, который принимает запросы любых версий и не меняется по жизни.
Есть стандартный http заголовок Accept, где указвыаются типы данных. Туда же запихнуть версию api, с которой работает клиент. При получении любого запроса на backend`е - анализировать заголовок и дальше уже плясать от вашей архитектуры. Если микросервисы - кидать на инстансы, которые поддерживают эту версию api(и там вполне допустимо, чтобы адрес содержал как-раз эту версию, типа get http://api.ooo.ru/v1/issues. Либо в шину отправлять запрос. Либо у вас как-то в коде прописана логика, в зависимости от версий...
...
Рейтинг: 0 / 0
17.06.2019, 16:03
    #39827316
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статик переменная в аннотации класса
это понятно, я задал вопрос в тему поччему именно accept хедер а не скажем, какой-нибудь кастомный. это общепринятая практика?
если да то допустим я пишу accept application/json -каким образом я тут дополню данными о версии, и в чем плюс против кастомного хедера?
...
Рейтинг: 0 / 0
17.06.2019, 16:57
    #39827370
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статик переменная в аннотации класса
andreykaTэто понятно, я задал вопрос в тему поччему именно accept хедер а не скажем, какой-нибудь кастомный. это общепринятая практика?
если да то допустим я пишу accept application/json -каким образом я тут дополню данными о версии, и в чем плюс против кастомного хедера?

против кастомного хедера - никакой.
Да, часто встречал версию именно в Accept. К примеру, у github`а - такое

https://developer.github.com/v3/media/#request-specific-version
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Статик переменная в аннотации класса / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]