Node js 7일차 - Query

00_8_3·2020년 11월 15일
0

간단 Node

목록 보기
8/27

Node js 7일차

The Query String

app.get("/test", (req, res) => {
	
    if (!req.query.search) {
    
    	return res.send({
        
        	error: "You must provide a search term!"
            // return 을 사용하지 않으면 아래 코드도 사용하게 되어 오류 발생
        })
    }
    
	console.log(req.query)
    res.send({
    	
        test: []
    })
    
}

console.log(req.query)
브라우저 주소창에 localhost:3000/test?search=games&rating=5 검색 시

{search: "games", rating: "5"} 출력됨

Building a JSON HTTP EndPoint

>>>npm i request@2.88.0

const geocode require(".utils/geocode")
const forcast require(".utils/forecast")

app.get("/test", (req, res) => {

		if (!req.queyr.address) {
        
        	return res.send({
            
            	error: "에러 address를 적으세요"
            })
        }
        geocode(req.query.address, (err, { latitude, longitude, location } )=> {
        
        	if (err) {
            
            
            }
            forecast(lat, log, (err, forecastData)=> {
            
            	if(err) {
                
                	
                }
                res.send({
                
                	forecast: forecastData,
			location,
           	        address: req.query.address
                })
            })
        })
}

ES Aside Default Function Parameters

// 입력값을 받지 못할경우 Default 값 발생
// Destructure label과 stock 값이 없다면 stock 값을 0으로 하자

const test = (type, { label, stock = 0 } = { } ) => {

	console.log(type, label, stock)
}

test("order")

응용

// 디폴트 설정
geocode(req.query.address, (err, { latitude, longitude, location } = {} )=> {
        
        	if (err) {
            
            
            }
            forecast(latitude, longitude, (err, forecastData)=> {
            
            	if(err) {
                
                	
                }
                res.send({
                
                	forecast: forecastData,
			location,
           	        address: req.query.address
                })
            })
        })
        
        

0개의 댓글