使用Express创建一个“搜索URL”作为参数的路由

时间:2018-02-24 09:38:41

标签: express

使用Express,如何创建路线,例如:

  • 调用网址<TextBlock Text="{Binding Title, Source={StaticResource Data}}" /> 时,请回答 如果提供了/search?s=<SEARCH>
  • 如未提供,答案应为{status:200, message:"ok", data:<SEARCH>}

请务必将HTTP状态设置为500.

2 个答案:

答案 0 :(得分:1)

阿里这样回答你的问题吗?

app.get('/search?:s',(req,res)=>{
        let url = req.url
        let input = url.split('/search')
        s = input[1]
        console.log(input,s)

        if(s != ''){
            res.write(`
            {status:200, message:"ok", ${s} }

             ok  ` + s + `
        `)
            res.send()
        }else{
            res.write(`
            {status:500,error:true,message:"you have to provide a search"}  
            You have to provide a search
        `)
            res.send()
        }
    })

答案 1 :(得分:0)

此代码检查是否已添加查询参数parameters并按要求回复。如果没有名为s的查询参数,则s将为req.query.s。 (Docs)在这种情况下,会发送HTTP-500答案。

undefinded

此代码的优点是,自动设置正确的app.get('/search',(req,res) => { const search = req.query.s; if (typeof search != 'undefined') { // Search string applied const response = { status:200, message:"ok", data: search }; res.send(response); } else { const response = { status:500, error:true, message: "you have to provide a search" }; res.status(500); res.send(response); } }); 标头。生成的对象也将采用JSON格式,因此可以由任何客户端直接使用。

请注意,Content-Type状态不应适用于此处描述的情况。 500 Internal Server Error可能是更好的解决方案。