Javascript NextJS动态路由-是否可以设置路由名称数组?

Javascript NextJS动态路由-是否可以设置路由名称数组?,javascript,reactjs,axios,next.js,Javascript,Reactjs,Axios,Next.js,我正在我的应用程序中使用动态路由。这是我正在使用的文件夹结构 -pages -department -[slug].js 现在,如果slug值仅为cse、eee、swe、english e.t.c我想显示页面,否则我想显示404 Not Found页面。有没有办法设置路由名称数组?然后,如果slug值(我可以使用getServerSideProps获得)包含在该数组中,我将为该页面提供服务,否则为404notfound页面提供服务 我为什么需要它? 在getServerSidePr

我正在我的应用程序中使用动态路由。这是我正在使用的文件夹结构

-pages
  -department
    -[slug].js
现在,如果slug值仅为
cse、eee、swe、english e.t.c
我想显示页面,否则我想显示
404 Not Found
页面。有没有办法设置路由名称数组?然后,如果slug值(我可以使用
getServerSideProps
获得)包含在该数组中,我将为该页面提供服务,否则为
404notfound
页面提供服务

我为什么需要它?

getServerSideProps
函数中,我从api端点获取数据。在这种情况下,如果api端点中不包含slug值,服务器将抛出
请求失败,状态代码501
错误!
因此,如果slug值为cse,则api端点可用,我可以获取数据。如果slug值为
anything或xyasdfs
,则api端点不可用,我无法获取数据,服务器抛出以下错误。

我将在我的组件中检查响应正文中的属性。。例如,如果所有部门都有一个名称,则检查它,如果它不存在,则返回404。

我会在我的组件中检查响应正文中的属性。。比如,如果所有部门都有一个名称,那么检查它,如果它不存在,那么返回一个404。

从服务器端渲染应该是这样的

Page.getInitialProps = async ({query}) => {
  if(query.slug == 'cse') {
    //codes
  }
}
或者你可以使用下一个路由器钩子

从服务器端渲染应该是这样的

Page.getInitialProps = async ({query}) => {
  if(query.slug == 'cse') {
    //codes
  }
}
或者你可以使用下一个路由器钩子

我手动比较slug值,但我在寻找更好的解决方案。我手动比较slug值,但我在寻找更好的解决方案。