Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 데이터베이스
- jsp연결
- Cisco
- 정보처리기사
- ospf
- php
- Java
- NCS
- w3school
- cisco packet
- 라우터
- 이것이 자바다
- html
- 버추얼머신
- autoset
- 정처기필기
- jsp
- 리눅스
- 네트워크관리사
- VLAN
- rinux
- 자바
- javaee
- ciscopacket
- 원형그래프
- Oracle
- sql
- 참조타입
- 네트워크
- 오라클
Archives
- Today
- Total
기록해! 정리해!
Postman 사용하기 본문
const http = require('http');
const express = require('express');
var items=[{name:'우유', price:'2000' },
{name:'홍차', price:'3000'},
{name:'커피', price:'3500'}
];
const app = express();
app.use(express.logger());
// GET 요청 이외의 요청에서 요청 매개변수를
// 추출하려면 BodyParser 미들웨어가 필요하다.
app.use(express.bodyParser());
// 정적 홈페이지
app.use(express.static('public'));
app.use(app.router);
app.del('/products/:id', function(request, response){
var id = Number(request.params.id);
if (isNaN(id)) {
response.send({ error:'숫자를 입력하세요!!'});
} else if (items[id]) {
items.splice(id, 1);
response.send({ message:'데이터를 삭제 했습니다.!'});
} else {
response.send({ error:'존재하지 않는 데이터입니다.!'});
}
});
// 수정하기
app.put('/products/:id', function(request, response){
console.log('===> app.put');
// 동적 라우트 요청 매개변수 ( params 받기 )
var id = Number(request.params.id);
var name = request.query.name; // 매개변수 query 로 받기
var price = request.query.price;
console.log('===> 번호:' + id);
console.log('===> 이름:' + name) ;
console.log('===> 가격:' + price);
if (items[id]) {
if(name) {items[id].name = name;}
if(price) {items[id].price = price;}
response.send({ message:'데이터를 수정했습니다.', data: items[id]});
} else {
response.send({ error:'존재하지 않는 데이터 입니다.'});
}
});
// 데이타 추가하기
app.post('/products', function(request, response){
console.log('===> app.post');
// var name = request.param('name')
// var price = request.param('price')
var name = request.body.name;
var price = request.body.price;
console.log('name:' + name);
console.log('price:' + price);
var item = { name: name, price: price };
items.push(item); // 데이터를 추가합니다.
response.send({
message: '데이터를 추가했습니다.' , data: item
});
});
app.get('/products/:id', function(request, response){
var id = Number(request.params.id);
// var id = Number(request.param('id'));
if (isNaN(id)) {
response.send({ error:'숫자를 입력하세요!!'});
} else if (items[id]) {
response.send(items[id]);
} else {
response.send({ error:'존재하지 않는 데이터 입니다.!!'});
}
});
// 추가 부분
app.get('/products', function(request, response){
response.send(items);
});
// 동적 라우팅 사용하기
app.all('/parameter/:id', function(request, response){
var id = request.params.id;
// var id=request.param('id');
response.send('<h1>' + id + '</h1>' );
});
// get - method 방법만 받을수 있다.
app.get('/parameter', function(request, response){
var name = request.query.name;
var price = request.query.region;
// var name=request.param('name');
// var region=request.param('region');
response.send('<h1>' + name + ' : ' + region + '</h1>' );
});
app.all('/data.html', (request, response) => {
var output="";
items.forEach( (item)=>{
output += item.name + ":" + item.price +"<br>" ;
});
response.send(output);
});
app.all('/data.json', (request, response) =>{
response.send(items);
});
app.all('/data.xml', (request, response) => {
var output="";
output += '<?xml version="1.0" encoding="UTF-8" ?>';
output += '<products>' ;
items.forEach( (item) =>{
output += '<product>' ;
output += '<name>' + item.name + '</name>' ;
output += '<price>' + item.price + '</price>' ;
output += '</product>' ;
});
output += '</products>' ;
response.type('text/xml');
response.send(output);
});
app.use( ( request, response ) => {
response.writeHead(200, {'Content-Type':'text/html; charset=utf-8'});
response.end('<div align=center><h1> 서버 접근을 환영합니다. </h1></div');
});
http.createServer(app).listen(52273, () => {
console.log ('Server Running at http://127.0.0.1:52273');
})
[ index.html ]
<html>
<head>
<title>node - index.html </title>
</head>
<body>
<div align="center">
<br><br><br>
<h1> 기본 홈페이지 위치 </h1>
<img src="./img/choi.jpg" width="200" height="200" />
<br>
<a href="data.json"> 0.전체 데이터 확인 </a> <br><br>
<a href="main1.html"> 1.get 방법전체(selectAll) </a> <br><br>
<a href="main2.html"> 2.get 방법선택(getSelect) </a> <br><br>
<a href="main3.html"> 3.post 방법선택(insert) </a> <br><br>
</div>
</body>
</html>
[ 전체 데이터 보기 ]
<html>
<head>
<title>node - index.html </title>
</head>
<body>
<div align="center">
<h3> /products 전송 </h3>
<form action="/products" method="get">
<input type="submit" value="Get 전송" >
</form>
</div>
</body>
</html>
[ 동적 라우트 요청 매개변수 ]
<html>
<head>
<title>node - index.html </title>
</head>
<body>
<div align="center">
<h3> /products/:id 전송 </h3>
<a href="/products/0"> 0번 선택</a> <br><br>
<a href="/products/1"> 1번 선택</a> <br><br>
<a href="/products/2"> 2번 선택</a> <br><br>
<a href="/products/3"> 3번 선택</a> <br><br>
<a href="/products/A"> A번 선택</a> <br><br>
</div>
</body>
</html>
[ 저장하기 ]
<html>
<head>
<title>node - index.html </title>
</head>
<body>
<div align="center">
<h3> /products 전송 (POST) </h3>
<form action="/products" method="post">
상품명 : <input type="text" name="name" > <br><br>
가격 : <input type="text" name="price" > <br><br>
<input type="submit" value="저장하기" >
</form>
</div>
</body>
</html>
'자바스크립트' 카테고리의 다른 글
응답과 응답형식 (html, json, xml ) (0) | 2022.09.29 |
---|---|
Node.js -ppt 실습 (1) (0) | 2022.09.28 |
Node.js 다운로드 + 테스트하기 (0) | 2022.09.28 |
Comments