Nextjs 如何访问后端服务的 API 以及如何跨域?

查看 31|回复 1
作者:vczyh   
React 新手,在学习 Next ,请教大家两个问题。
1.Next 如何访问后端服务的 API ?
第一种是直接访问后端 API 。
另一种是访问 Next API Router ,API Router 中再访问后端 API 。
请问最佳实践是那种?
2.Next 如何跨域?
看文章都是通过 API Router ?
还有通过 next.config.js;
  async rewrites() {
    return [
      {source: '/apis/:path*', destination: 'http://127.0.0.1:80/:path*'}
    ]
  }
但是这样的话,GET 请求正常,POST 请求提示超时。请问如何解决?

API, router, Next, 访问

dayeye2006199   
> 1.Next 如何访问后端服务的 API ? 第一种是直接访问后端 API 。 另一种是访问 Next API Router ,API Router 中再访问后端 API 。 请问最佳实践是那种?
你如果只做 CSR ,普通 react 里面怎么访问的就怎么访问(例如写在 useEffect 里面的 fetch )。
你做 SSG 或者 SSR ,那就写在 getStaticProps 或者 getServerSideProps 里面。
api route 你看作一个普通的后端就可以了。如果 api route 单纯做一个转发,没必要通过这个额外的一层。除非你在里面还有一些别的逻辑(例如数据变换,动态修改头文件之类的)。
> 2.Next 如何跨域?
跨域是后端的事情。你需要后端给你的 response 头里面,包含允许跨域的信息。这个和前端没有太大的关系。
你给的那个例子是一个转发的例子,就是让客户端觉得自己在访问 /apis/* 这个路径,实际通过 API routes 转发到其他的地址,来达到欺骗客户端的作用。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部