реакция-админ отсутствует в ответе HTTP - PullRequest
0 голосов
/ 23 января 2020

Я пытаюсь создать панель администратора, используя react-admin.

Вот что я сделал:

class AdminPanel extends React.Component{

    render() {
        return(
          <div>
              <Admin dataProvider={restProvider('http://localhost:8080')}>
                  <Resource name="u/all" list={PostList}/>
              </Admin>
          </div>
        );
    }
}

И в другом js file, я определил PostList.

На моем сервере я отлаживаю, если /u/all получает какое-либо попадание или нет. Он получает.

Но реагирует. js выдает ошибку, говоря: Ошибка: заголовок Content-Range отсутствует в HTTP-ответе. Простой поставщик данных REST ожидает, что ответы для списков ресурсов будут содержать этот заголовок с общим количеством результатов для построения нумерации страниц. Если вы используете CORS, объявляли ли вы Content-Range в заголовке Access-Control-Expose-Headers?

Как мне решить эту проблему?

PostList. js:


export const PostList = (props) => (

    <List {...props}>
        <Datagrid>
            <TextField source="userID" />
            <TextField source="username" />
            <DateField source="firstName" />
            <TextField source="middleName" />
            <TextField source="lastName" />
            <TextField source="profileImageURL" />
            <TextField source="joiningTime" />
            <EditButton basePath="/posts" />
        </Datagrid>
    </List>
);

Мой сервер на стороне CORS:

@Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry
                        .addMapping("/**")
                        .allowedOrigins("http://localhost:3000","http://localhost:3001")
                        .exposedHeaders("Content-Range");
            }
        };
    }

enter image description here

По-прежнему возникает ошибка после добавления открытого заголовка:

enter image description here

1 Ответ

1 голос
/ 23 января 2020

Ответ написан в документации реагирующего администратора :

Простой клиент REST ожидает, что API включит заголовок Content-Range в ответ на вызовы getList. Значение должно быть общим количеством ресурсов в коллекции. Это позволяетact-admin знать, сколько всего страниц ресурсов, и создавать элементы управления разбиением на страницы.

Content-Range: posts 0-24/319

Если ваш API находится в другом домене как код JS, вам понадобится внести в белый список этот заголовок с заголовком CORS Access-Control-Expose-Headers.

Access-Control-Expose-Headers: Content-Range
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...