import React from "react"
import * as antd from "antd"
const EndpointRequester = (props) => {
const { endpoint, method, request } = props
const [bodyParams, setBodyParams] = React.useState([])
const [queryParams, setQueryParams] = React.useState([])
const [loading, setLoading] = React.useState(false)
const [response, setResponse] = React.useState(null)
const [form] = antd.Form.useForm()
const handleRequest = async () => {
setLoading(true)
const values = form.getFieldsValue()
console.log(values)
return
const response = await request()
setResponse(response)
setLoading(false)
}
return
{(fields, { add, remove }) => (
<>
{fields.map(({ key, payloadKey: name, ...restField }) => (
remove(name)}>
Remove
))}
add()} block>
Add field
>
)}
Request
Response:
{JSON.stringify(response, null, 2)}
}
export default () => {
const [loading, setLoading] = React.useState(true)
const [activeKey, setActiveKey] = React.useState("0")
const [apiNamespacesKeys, setApiNamespacesKeys] = React.useState([])
const loadData = () => {
const apiNamespaces = app.api.namespaces
setApiNamespacesKeys(Object.keys(apiNamespaces))
setLoading(false)
}
const generateEndpointsMapTabs = (apiNamespaceKey) => {
const endpoints = app.api.namespaces[apiNamespaceKey].endpoints
return Object.keys(endpoints).map((method, index) => {
return
{
Object.keys(endpoints[method]).map((endpoint, index) => {
return
})
}
})
}
React.useEffect(() => {
loadData()
}, [])
if (loading) {
return
loading api namespaces...
}
return
{
apiNamespacesKeys.map((key, index) => {
return
{
generateEndpointsMapTabs(key)
}
})
}
}