HTTP 响应中缺少 Content-Range 标头。反应管理员。 Go 语言 API

问题描述 投票:0回答:1

我正在尝试使用react-admin 创建一个管理面板。 我无数次尝试连接我的 api 并响应管理员,但没有任何效果。 HTTP 响应中缺少 Content-Range 标头。虽然我认为我做的一切都是对的(我是这么认为的)。

app.tsx:

import { Admin, Resource } from "react-admin";
import { UserList } from "./users";
import { dataProvider } from "./dataProvider";
import { MyLayout } from './MyLayout';

export const App = () => <Admin dataProvider={dataProvider} layout={MyLayout}>
  <Resource name="users" list={UserList} />
</Admin>;

users.tsx:

import { List, Datagrid, TextField, EmailField } from "react-admin";

export const UserList = () => (
    <List>
        <Datagrid rowClick="edit">
            <TextField source="id" />
            <TextField source="username" />
            <TextField source="first_name" />
            <TextField source="last_name" />
            <TextField source="position" />
            <TextField source="access_level" />
        </Datagrid>
    </List>
);

GO API:

CORS:

handler := cors.AllowAll().Handler(r)
log.Printf("Server is running on port %s...", port)
log.Fatal(http.ListenAndServe(":"+port, handler))

用户:

func GetUsers(w http.ResponseWriter, r *http.Request) {
    var users []api.User
    db.DB.Find(&users)

    totalResources := len(users)

    // Content-Range
    w.Header().Set("Content-Range", fmt.Sprintf("items 0-%d/%d", totalResources-1, totalResources))

    userResponses := make([]UserResponse, 0)
    for _, user := range users {
        userResponses = append(userResponses, UserResponse{
            ID:          user.ID,
            Username:    user.Username,
            FirstName:   user.FirstName,
            LastName:    user.LastName,
            Position:    user.Position,
            AccessLevel: user.AccessLevel,
        })
    }

    respondWithJSON(w, http.StatusOK, userResponses)
}

[enter image description here]

reactjs go react-admin
1个回答
0
投票

如果您使用“简单的 REST 客户端”,那么根据文档,它需要稍微不同的标头格式:

'Content-Range', 'users 0-24/324'
// 'users' 是您的资源的名称

© www.soinside.com 2019 - 2024. All rights reserved.