Menu
SuiteCRM Pull Request Party hosted by SalesAgility
Welcome, Guest
Username: Password: Remember me

TOPIC: Генерация кода по заданной структуре JSON API

Генерация кода по заданной структуре JSON API 6 months 4 weeks ago #69878

  • akarasev
  • akarasev's Avatar
  • Offline
  • New Member
  • Posts: 5
  • Karma: 0
Я не уверен, отностися ли это полностью к SuiteCRM или к JSON API. Вероятно, это что-то посередине.

Есть ресурс с название Lead, чья структура целиком доступна, если выполнить такой запрос:
GET {{crm_base_url}}/api/v8/modules/Leads/meta/attributes
Это дает такой ответ:
{
    "meta": {
        "Leads": {
            "attributes": {
                "id": {
                    "name": "id",
                    "vname": "LBL_ID",
                    "type": "id",
                    "required": true,
                    "reportable": true,
                    "comment": "Unique identifier",
                    "inline_edit": false
                },
                "first_name": {
                    "name": "first_name",
                    "vname": "LBL_FIRST_NAME",
                    "type": "varchar",
                    "len": "100",
                    "unified_search": true,
                    "full_text_search": {
                        "boost": 3
                    },
                    "comment": "First name of the contact",
                    "merge_filter": "selected"
                },
                ...
Я хочу использовать одну из JSON API библиотек. Допустим, Java реализацию. Тогда я должен написать такой код:
@JsonApiResource(type = "Leads")
public class Lead {

    @JsonApiId
    private UUID id;

    @JsonProperty("first_name")
    private String firstName;
    ...
Как я могу избежать ручной работы и сгенерировать код таких классов автоматически?

Неважно какой язык программирования использовать, в результате должен получится класс с полями.
The administrator has disabled public write access.

Генерация кода по заданной структуре JSON API 6 months 1 week ago #70399

  • erop
  • erop's Avatar
  • Offline
  • New Member
  • Posts: 19
  • Thank you received: 1
  • Karma: 0
Теоретически должна вот эта штука помочь.
Если не секрет, а зачем Вы в Java тащите дефинишн модуля?
The administrator has disabled public write access.
The following user(s) said Thank You: akarasev

Генерация кода по заданной структуре JSON API 6 months 1 week ago #70405

  • akarasev
  • akarasev's Avatar
  • Offline
  • New Member
  • Posts: 5
  • Karma: 0
Спасибо за ответ!
Однако, JSON API - это не просто JSON или JSON Schema. Вот его спецификация - jsonapi.org/

Мне нужна модель предметной области, как раз такая, которая уже описана модулями SuiteCRM. Я бы хотел переиспользовать ее в Java коде, т.к. вся
имеющаяся инфраструктра именно на Java.
The administrator has disabled public write access.

Генерация кода по заданной структуре JSON API 6 months 1 week ago #70417

  • erop
  • erop's Avatar
  • Offline
  • New Member
  • Posts: 19
  • Thank you received: 1
  • Karma: 0
А если генерить классы непосредственно какой-нибудь тулзой прямо из базы данных? Их есть же в Java!
The administrator has disabled public write access.

Генерация кода по заданной структуре JSON API 6 months 1 week ago #70428

  • akarasev
  • akarasev's Avatar
  • Offline
  • New Member
  • Posts: 5
  • Karma: 0
Тогда пропадает возможность пользоваться RESTful API docs.suitecrm.com/developer/api/version-8/json-api/
SuiteCRM тоже нужен.
Генератор нужен потому что модули в SuiteCRM с новыми версиями тоже эволюционируют и нужно поддерживать классы в актальном состоянии.
Last Edit: 6 months 1 week ago by akarasev.
The administrator has disabled public write access.
Moderators: likhobory
Time to create page: 0.053 seconds
Powered by Kunena Forum