easyopen — это простая и удобная в использовании платформа с открытым интерфейсом. Платформа инкапсулирует часто используемые функции, такие как проверка параметров и возврат результатов. Разработчикам нужно только реализовать бизнес-код.
Функция easyopen аналогична открытой платформе Taobao. Все ее интерфейсы предоставляют только один URL-адрес, а разные компании различаются по параметрам. Преимущество этого заключается в том, что управление URL-адресами интерфейса удобно, и администратору платформы нужно только поддерживать параметры интерфейса. Поскольку количество параметров известно, это обеспечивает высокую степень инкапсуляции. После инкапсуляции разработчикам платформы нужно только написать бизнес-код, а другие функции можно выполнить посредством настройки.
Благодаря функции аннотаций Java и управлению компонентами контейнера Spring родилась наша платформа с открытым интерфейсом.
1. Работает «из коробки». Запустить сервис можно сразу после написания бизнес-кода, никакой другой настройки не требуется.
2. Автоматическая проверка параметров, поддержка международной проверки параметров (JSR-303).
3. Функция проверки и функция возврата результата реализованы независимо, что облегчает индивидуальную реализацию или расширение.
4. Используйте аннотации для определения интерфейсов, что делает обслуживание простым и удобным.
5. Поддержка возврата интернационализированных сообщений i18n.
6. Автоматически генерировать страницы документации, аналогично Swagger.
7. Используйте цифровые подписи для проверки параметров. Алгоритм подписи см. в файле easyopen.алгоритм подписи.txt.
8. Используйте форму appKey-secret для доступа к платформе, то есть вам необходимо предоставить appKey и секрет стороне доступа.
Алгоритм шифрования (MD5, AES, RSA)
Netty (кодек, долгое соединение, отключение и повторное подключение)
Ограничение тока (стратегия дырявого корзины, стратегия корзины токенов)
Разрешения (RBAC, проверка)
сеанс (автономный, распределенный)
Аннотации (генерация документов)
токен (jwt, accessToken)
SDK (Java, C#, JavaScript)
Скриншот центра конфигурации
Страница документации
Определить интерфейс
@Api(name = "goods.get")public Goods getGoods(GoodsParam param) { Товары товары = новые товары(); товары.setId(1L); товары.setGoods_name("Apple iPhoneX"); товары.setPrice(new BigDecimal) (8000)); возврат товара;}
Запросить данные
{ "name": "goods.get", "version": "", "app_key": "test", "data": "%7B%22goodsPrice%22%3A%22%22%2C%22goods_name%22% 3A%22iphoneX%22%7D", "timestamp": "2018-03-22 13:48:58", «формат»: «json», «знак»: «C946ACA5AC95B1790511764A10E675B7»}
Возврат результатов
{ "code":"0", "data":{ "goods_name":"Apple iPhoneX", "id":1, "price":8000 }}
easyopen: easyopen: основной код
easyopen-configuration: центр конфигурации [необязательно]
easyopen-demo: демонстрация интерфейса сервера (включая Springboot, SpringMVC)
easyopen-ext: пакет расширения (предоставляет расширенные функции, такие как автоматические выключатели и понижение версии)
easyopen-sdk: SDK, соответствующий интерфейсу (включая Java, C#, Javascript)
easyopen-starter: стартер, соответствующий Springboot
development-doc: документация по разработке
1. Запустите easyopen-server-manual под easyopen-demo (бизнес-код находится в GoodsApi.java).
2. Запустите SdkTest.java в sdk-java под easyopen-sdk.