express 기본 및 HTTP Methods
설치
$ npm install express --save
서버 실행
- 실행 방법은 아래코드가 저장되어있는 자바스크립트 파일을 만들고 해당 파일을 cmd 창에서 node '자바스립트 파일명' 수행 하면 서버가 실행 된다.
- 3333포트로 서버를 실행 시키며 정상적으로 실행 될 경우 listen의 콜백함수가 호출 된다.
- 서버 실행 후 http://localhost:3333/ 접속 가능
const express = require('express');
const app = express();
let portNumber = 3333;
app.listen(portNumber, () => {
console.log(`start ${portNumber} prot`);
});
외부 접근시 Access-Control-Allow-Origin 오류 해결 방법
const cors = require('cors'); // Access-Control-Allow-Origin 해결 모듈
app.use(cors());
HTTP Methods
- GET: getting data
- POST: creating data
- PUT: updating data
- DELETE: deleting data
get(getting data)
get
- http://localhost:3333/user 웹브라우저에 접속 시 userInfos 오브젝트를 클라이언트로 전달 한다.
let userInfos=[
{name:'아무개',age:22},
{name:'강아지',age:32},
{name:'소나무',age:42}
];
app.get('/user', function(request,response){
// 응답 코드 200과 함께 데이터 클라이언트에게 전달
response.status(200).send(userInfos);
});
Route Parameter
- httpp://localhost:3333/user/1 로 접속 하면 "app.get('/user/:id' " 선언되어있는 callback 함수가 호출 되고 request 매개변수의 params 객체 안에 id:1의 값을 확인 할 수 있다.
- 넘겨받은 파라미터를 데이터를 조회 하거나 할때 없으면 response.status(404) 에러를 전달 하여 예외 처리를 할수 있다
app.get('/user/:id', function (request, response) {
console.log('request.params.id', request.params.id);
response.status(200).send(request.params.id);
});
- 라우터 파리미터 여러개도 전달 가능
- "httpp://localhost:3333/user/1/테스트입니다" 로 접속 하면 "app.get('/user/:id/:searchName' " 선언되어있는 callback 함수가 호출 되고 request 매개변수의 params 객체 안에 id,searchName의 클라이언트에서 전달한 값을 확인 할 수 있다.
app.get('/user/:id/:searchName', function (request, response) {
console.log('request.params.id', request.params.id);
console.log('request.params.searchName', request.params.searchName);
response.status(200).send('');
});
Query string parameter
- "http://localhost:3333/user/?name=아무개&age=3333" 클라이언트에서 호출 시 request.query에 name과 age의 각 프로퍼티 값을 확인하여 아무개와 3333의 값을 확인 할 수 있다.
app.get('/user', function (request, response) {
console.log('request.query', request.query);
response.status(200).send('');
});
post(creating data)
- 데이터 추가 시 post를 사용
- 클라이언트 헤더가 application/x-www-form-urlencoded 인경우 use에 express.json() urlencoded 사용해야 request.body에 데이터를 받을 수 있다.
app.use(express.json())
app.use(express.urlencoded({extended: true}))
app.post('/user', function (request, response) {
console.log('post request.body', request.body);
response.status(200).send('');
});
put(updating data)
- 데이터 update 시 사용
- post와 동작 방식은 동일하다
app.use(express.json())
app.use(express.urlencoded({extended: true}))
app.put('/user', function (request, response) {
console.log('put request.body', request.body);
response.status(200).send('');
});
delete(deleting data)
- 데이터 삭제 시 사용 하며 사용법은 get이랑 비슷
app.delete('/user/:id', function (request, response) {
console.log('delete request.params.id', request.params.id);
response.status(200).send('');
});
Author And Source
이 문제에 관하여(express 기본 및 HTTP Methods), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@ljwasboy/express를-활용한-WebServer
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ npm install express --save
- 실행 방법은 아래코드가 저장되어있는 자바스크립트 파일을 만들고 해당 파일을 cmd 창에서 node '자바스립트 파일명' 수행 하면 서버가 실행 된다.
- 3333포트로 서버를 실행 시키며 정상적으로 실행 될 경우 listen의 콜백함수가 호출 된다.
- 서버 실행 후 http://localhost:3333/ 접속 가능
const express = require('express'); const app = express(); let portNumber = 3333; app.listen(portNumber, () => { console.log(`start ${portNumber} prot`); });
외부 접근시 Access-Control-Allow-Origin 오류 해결 방법
const cors = require('cors'); // Access-Control-Allow-Origin 해결 모듈
app.use(cors());
HTTP Methods
- GET: getting data
- POST: creating data
- PUT: updating data
- DELETE: deleting data
get(getting data)
get
- http://localhost:3333/user 웹브라우저에 접속 시 userInfos 오브젝트를 클라이언트로 전달 한다.
let userInfos=[
{name:'아무개',age:22},
{name:'강아지',age:32},
{name:'소나무',age:42}
];
app.get('/user', function(request,response){
// 응답 코드 200과 함께 데이터 클라이언트에게 전달
response.status(200).send(userInfos);
});
Route Parameter
- httpp://localhost:3333/user/1 로 접속 하면 "app.get('/user/:id' " 선언되어있는 callback 함수가 호출 되고 request 매개변수의 params 객체 안에 id:1의 값을 확인 할 수 있다.
- 넘겨받은 파라미터를 데이터를 조회 하거나 할때 없으면 response.status(404) 에러를 전달 하여 예외 처리를 할수 있다
app.get('/user/:id', function (request, response) {
console.log('request.params.id', request.params.id);
response.status(200).send(request.params.id);
});
- 라우터 파리미터 여러개도 전달 가능
- "httpp://localhost:3333/user/1/테스트입니다" 로 접속 하면 "app.get('/user/:id/:searchName' " 선언되어있는 callback 함수가 호출 되고 request 매개변수의 params 객체 안에 id,searchName의 클라이언트에서 전달한 값을 확인 할 수 있다.
app.get('/user/:id/:searchName', function (request, response) {
console.log('request.params.id', request.params.id);
console.log('request.params.searchName', request.params.searchName);
response.status(200).send('');
});
Query string parameter
- "http://localhost:3333/user/?name=아무개&age=3333" 클라이언트에서 호출 시 request.query에 name과 age의 각 프로퍼티 값을 확인하여 아무개와 3333의 값을 확인 할 수 있다.
app.get('/user', function (request, response) {
console.log('request.query', request.query);
response.status(200).send('');
});
post(creating data)
- 데이터 추가 시 post를 사용
- 클라이언트 헤더가 application/x-www-form-urlencoded 인경우 use에 express.json() urlencoded 사용해야 request.body에 데이터를 받을 수 있다.
app.use(express.json())
app.use(express.urlencoded({extended: true}))
app.post('/user', function (request, response) {
console.log('post request.body', request.body);
response.status(200).send('');
});
put(updating data)
- 데이터 update 시 사용
- post와 동작 방식은 동일하다
app.use(express.json())
app.use(express.urlencoded({extended: true}))
app.put('/user', function (request, response) {
console.log('put request.body', request.body);
response.status(200).send('');
});
delete(deleting data)
- 데이터 삭제 시 사용 하며 사용법은 get이랑 비슷
app.delete('/user/:id', function (request, response) {
console.log('delete request.params.id', request.params.id);
response.status(200).send('');
});
Author And Source
이 문제에 관하여(express 기본 및 HTTP Methods), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@ljwasboy/express를-활용한-WebServer
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
const cors = require('cors'); // Access-Control-Allow-Origin 해결 모듈
app.use(cors());
- GET: getting data
- POST: creating data
- PUT: updating data
- DELETE: deleting data
get(getting data)
get
- http://localhost:3333/user 웹브라우저에 접속 시 userInfos 오브젝트를 클라이언트로 전달 한다.
let userInfos=[
{name:'아무개',age:22},
{name:'강아지',age:32},
{name:'소나무',age:42}
];
app.get('/user', function(request,response){
// 응답 코드 200과 함께 데이터 클라이언트에게 전달
response.status(200).send(userInfos);
});
Route Parameter
- httpp://localhost:3333/user/1 로 접속 하면 "app.get('/user/:id' " 선언되어있는 callback 함수가 호출 되고 request 매개변수의 params 객체 안에 id:1의 값을 확인 할 수 있다.
- 넘겨받은 파라미터를 데이터를 조회 하거나 할때 없으면 response.status(404) 에러를 전달 하여 예외 처리를 할수 있다
app.get('/user/:id', function (request, response) {
console.log('request.params.id', request.params.id);
response.status(200).send(request.params.id);
});
- 라우터 파리미터 여러개도 전달 가능
- "httpp://localhost:3333/user/1/테스트입니다" 로 접속 하면 "app.get('/user/:id/:searchName' " 선언되어있는 callback 함수가 호출 되고 request 매개변수의 params 객체 안에 id,searchName의 클라이언트에서 전달한 값을 확인 할 수 있다.
app.get('/user/:id/:searchName', function (request, response) {
console.log('request.params.id', request.params.id);
console.log('request.params.searchName', request.params.searchName);
response.status(200).send('');
});
Query string parameter
- "http://localhost:3333/user/?name=아무개&age=3333" 클라이언트에서 호출 시 request.query에 name과 age의 각 프로퍼티 값을 확인하여 아무개와 3333의 값을 확인 할 수 있다.
app.get('/user', function (request, response) {
console.log('request.query', request.query);
response.status(200).send('');
});
post(creating data)
- 데이터 추가 시 post를 사용
- 클라이언트 헤더가 application/x-www-form-urlencoded 인경우 use에 express.json() urlencoded 사용해야 request.body에 데이터를 받을 수 있다.
app.use(express.json())
app.use(express.urlencoded({extended: true}))
app.post('/user', function (request, response) {
console.log('post request.body', request.body);
response.status(200).send('');
});
put(updating data)
- 데이터 update 시 사용
- post와 동작 방식은 동일하다
app.use(express.json())
app.use(express.urlencoded({extended: true}))
app.put('/user', function (request, response) {
console.log('put request.body', request.body);
response.status(200).send('');
});
delete(deleting data)
- 데이터 삭제 시 사용 하며 사용법은 get이랑 비슷
app.delete('/user/:id', function (request, response) {
console.log('delete request.params.id', request.params.id);
response.status(200).send('');
});
Author And Source
이 문제에 관하여(express 기본 및 HTTP Methods), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@ljwasboy/express를-활용한-WebServer
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
- http://localhost:3333/user 웹브라우저에 접속 시 userInfos 오브젝트를 클라이언트로 전달 한다.
let userInfos=[
{name:'아무개',age:22},
{name:'강아지',age:32},
{name:'소나무',age:42}
];
app.get('/user', function(request,response){
// 응답 코드 200과 함께 데이터 클라이언트에게 전달
response.status(200).send(userInfos);
});
- httpp://localhost:3333/user/1 로 접속 하면 "app.get('/user/:id' " 선언되어있는 callback 함수가 호출 되고 request 매개변수의 params 객체 안에 id:1의 값을 확인 할 수 있다.
- 넘겨받은 파라미터를 데이터를 조회 하거나 할때 없으면 response.status(404) 에러를 전달 하여 예외 처리를 할수 있다
app.get('/user/:id', function (request, response) {
console.log('request.params.id', request.params.id);
response.status(200).send(request.params.id);
});
- 라우터 파리미터 여러개도 전달 가능
- "httpp://localhost:3333/user/1/테스트입니다" 로 접속 하면 "app.get('/user/:id/:searchName' " 선언되어있는 callback 함수가 호출 되고 request 매개변수의 params 객체 안에 id,searchName의 클라이언트에서 전달한 값을 확인 할 수 있다.
app.get('/user/:id/:searchName', function (request, response) {
console.log('request.params.id', request.params.id);
console.log('request.params.searchName', request.params.searchName);
response.status(200).send('');
});
- "http://localhost:3333/user/?name=아무개&age=3333" 클라이언트에서 호출 시 request.query에 name과 age의 각 프로퍼티 값을 확인하여 아무개와 3333의 값을 확인 할 수 있다.
app.get('/user', function (request, response) {
console.log('request.query', request.query);
response.status(200).send('');
});
- 데이터 추가 시 post를 사용
- 클라이언트 헤더가 application/x-www-form-urlencoded 인경우 use에 express.json() urlencoded 사용해야 request.body에 데이터를 받을 수 있다.
app.use(express.json()) app.use(express.urlencoded({extended: true})) app.post('/user', function (request, response) { console.log('post request.body', request.body); response.status(200).send(''); });
put(updating data)
- 데이터 update 시 사용
- post와 동작 방식은 동일하다
app.use(express.json())
app.use(express.urlencoded({extended: true}))
app.put('/user', function (request, response) {
console.log('put request.body', request.body);
response.status(200).send('');
});
delete(deleting data)
- 데이터 삭제 시 사용 하며 사용법은 get이랑 비슷
app.delete('/user/:id', function (request, response) {
console.log('delete request.params.id', request.params.id);
response.status(200).send('');
});
Author And Source
이 문제에 관하여(express 기본 및 HTTP Methods), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@ljwasboy/express를-활용한-WebServer
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
- 데이터 update 시 사용
- post와 동작 방식은 동일하다
app.use(express.json())
app.use(express.urlencoded({extended: true}))
app.put('/user', function (request, response) {
console.log('put request.body', request.body);
response.status(200).send('');
});
- 데이터 삭제 시 사용 하며 사용법은 get이랑 비슷
app.delete('/user/:id', function (request, response) { console.log('delete request.params.id', request.params.id); response.status(200).send(''); });
Author And Source
이 문제에 관하여(express 기본 및 HTTP Methods), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ljwasboy/express를-활용한-WebServer저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)