Серверная обработка DataTables в Java - PullRequest
0 голосов
/ 21 января 2020

У меня есть приложение весенней загрузки с Rest api и базой данных Oracle и фронт реакции. Это работает хорошо, но теперь я хочу попробовать таблицы данных с обработкой на стороне сервера. У меня довольно много сущностей и контроллеров. Я хотел бы уточнить кое-что. Каждый пример, который я изучал, использовал jpa. Можно ли использовать JDB C? (У меня настроен JDB C, и я не хочу переделывать все в jpa). Когда я пытался изменить примеры на jdb c, они обычно отвечали с исключением нулевого указателя. Кроме того, как насчет контроллера? Я видел примеры с использованием как получить, так и пост. Обычно я использую get для получения данных. Но из того, что я пытался воспроизвести и использовать с моей базой данных, публикация, похоже, распознается, и Get выбрасывает ноль. Нужно ли указывать ничью и другие параметры в теле или где? Кроме того, возможно, есть только один контроллер, который может каким-то образом подготовить ответ от других, или я должен изменить каждый контроллер? Извините, это мой первый раз с таблицами данных на стороне сервера. Это то, что я использую, достаточно ли этого?

componentDidMount() {
        var index = null;
        var table = $(this.refs.main).DataTable({
            dom: '<"data-table-wrapper"t>',
            data: this.props.data,
            "processing": true,
            "serverSide": true,
            "pageLength": 1,
            "ajax": $.fn.dataTable.pipeline( {
                "url": "/api/calculations",
                "type": "POS"
                "data": function (data) {
                    return data = JSON.stringify(data);
             }}),
             'pagingType':   'simple',
             'order':        [[0,'asc']],
             'pageLength': 100,
             "columns": this.props.columns
        });
        $(this.refs.main).on('click', 'tr', () => {
            var index = table.row(this).index();
            var item = table.row(this).data();
            this.updateIndex(index);
            console.log(index);
            console.log(item);
        });
    }

Итак, мой интерфейс, после аутентификации и авторизации, переходит к тому компоненту, где я выполняю (в api была пагинация, я просто решил попробовать без сейчас)

  fetchItems = async (page, elements) => {
    try {
      const response = await CalculationsApiService.fetchAll()
      this.setState({ items: response.data })
    } catch (e) {
      this.setState({
        e,
        isError: true,
        items: null,
      })
    }
  }

И позже при рендеринге я вызываю свой дочерний компонент с моей универсальной таблицей и передаю столбцы и элементы как подпорки (первая часть кода в этом посте). Возможно, ошибка в том, что я вызываю для данных сначала в родительском, а затем ajax в дочернем? А как насчет контроллеров в целом? Могу ли я как-нибудь использовать обычные контроллеры отдыха и просто отправить что-то особенное из моей реакции? Когда я не изменяю учебник выше, у меня нормальный API для отдыха с откликом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...