javascript CORS解析REST API服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript CORS解析REST API服务器相关的知识,希望对你有一定的参考价值。

const Koa = require('koa')
const cors = require('@koa/cors')
const axiosBase = require('axios')

const axios = axiosBase.create({
  baseURL: 'https://xxxxx.xx',
  headers: {},
  responseType: 'json'
})

const app = new Koa()

app
  .use(cors())
  .use(async (ctx, next) => {
    let isAccess = true

    const { method, url } = ctx.request
    const res = await axios({ method, url }).catch((err) => {
      if (err.response) {
        const { status, data } = err.response
        // API error
        if (typeof data === 'object') {
          ctx.status = status
          ctx.body = data
          console.log(data);
        }
        // Server error
        else {
          isAccess = false
          console.log(err.message);
        }
      }
    })

    // Success
    if (res) {
      const { status, data } = res
      ctx.status = status
      ctx.body = data
      console.log(data);
    }

    if(isAccess) {
      await next()
    }
})

const server = app.listen('8000', 'localhost', () => {
  const host = server.address().address
  const port = server.address().port
  console.log('listening at http://%s:%s', host, port)
})

以上是关于javascript CORS解析REST API服务器的主要内容,如果未能解决你的问题,请参考以下文章

为 REST API 启用 CORS 支持

Tomcat REST API 上的 CORS 访问

在 JIRA REST API 中启用 CORS

Yammer REST API CORS

Yammer REST API - 如何从不同来源 (CORS) 获取数据?

SpringBoot rest-api+Vue CORS跨域.md