Axios 是目前较优的 HTTP client 方案。GitHub 上有一些使用示例。配合 axios-case-converter 可以将字段的命名风格在 JS 结构的 camelCase 和实际 HTTP 请求中的 JSON 字段的 snake_case 间相互转换。
使用 async / await 的代码例子:
import axios from 'axios'
import applyConverters from 'axios-case-converter'
async function getServerSideProps ({ params, query }) {
const client = applyConverters(axios.create())
const authorResponse = await client.get(`http://127.0.0.1:8000/authors/${params.id}.json`)
const author = authorResponse.data
return author
}