提问者:小点点

typescript无法获取页面


我制作了使用instagram api并有两个路由索引“/”和媒体“/”的应用程序。索引工作正常,但介质不工作。它不在get方法中输入。我做了一样,但一个是工作,第二个不是。我使用typescrip和node。我找不到错误

我媒体路由器

import request from "request"
import express from "express"
import { Router } from 'express'
import { Post } from "../models/Post"
const app = express()

const token: any = process.env.INSTAGRAM_TOKEN

 const mediaRouter = Router()

 mediaRouter.get("/media", (req: any, res: any) => {
    
    const url = 'https://graph.instagram.com/17841403377847296/media?fields=id,media_url,timestamp&access_token='+token+''
    request({ url: url, json: true }, (error: string, response: any) => {
       if(error){

           res.send("unable to connect to service")
       }else{

                const array = response.body.data

                var Posts: Post[] = [];

                array.forEach(function (obj: any) {
                    Posts.push(new Post(obj.media_url, obj.timestamp))    
                })
            
                res.send(Posts);
            }
    }) 
})
export default mediaRouter

我用户“/”路由器(工作)

import request from "request"
import express from "express"
import { Router } from 'express'
const app = express()

const token: any = process.env.INSTAGRAM_TOKEN

 const userRouter = Router()
userRouter.get("/", (req: any, res: any) => {
    
    const url = 'https://graph.instagram.com/17841403377847296/?access_token='+ token +'&fields=account_type,media_count,username'
    request({ url: url, json: true }, (error: string, response: any) => {
       if(error){

           res.send("unable to connect to service")
       }else{
           
        res.send("USER " + response.body.username + " HAVE " + response.body.media_count + " POSTS")
        
       }
       

    })
    
})
export default userRouter

和我的主要应用程序

import express from "express"
import  dotenv from "dotenv"

import userRouter from "./routes/userRouter";
import mediaRouter from "./routes/mediaRouter";


const app = express()
dotenv.config();

//envirements variable for port
const port: any = process.env.PORT


app.use("/media", mediaRouter)
app.use("/", userRouter)

//Adding server to port
app.listen(3000, () => {
    console.log("server is listen on port "+ port +"")
})

共1个答案

匿名用户

mediarouter中删除“/media”路径。由于它声明了两次,结果路径将是GET/media/media,而不是GET/media:

   mediaRouter.get("/", (req: any, res: any) => {})