以下に、私が定義してハードコーディングした 2 つの get リクエストがあります
サーバーからデータを取得し、JSON を生成します。
2 つの get リクエストを 1 つに結合する方法はありますか? クライアントから受け取る i?p に応じて出力を生成する 1 つの get リクエストだけでオンザフライで JSON を生成することを意味します。
私のExpressプログラム::
var express = require('express')
, async = require('async')
, http = require('http')
, mysql = require('mysql');
var app = express();
var connection = mysql.createConnection({
host: 'localhost',
user: 'xxx',
password: "xxx",
database: 'collages'
});
connection.connect();
// all environments
app.set('port', process.env.PORT || 7002);
//
//REQUEST FOR FIRST REQUEST
//
app.get('/',function(request,response){
var name_of_Collages, RestaurantTimings;
async.series( [
// Get the first table contents
function ( callback ) {
connection.query('SELECT * FROM restaurants', function(err, rows, fields)
{
console.log('Connection result error '+err);
name_of_Collages = rows;
callback();
});
},
// Get the second table contents
function ( callback ) {
connection.query('SELECT * FROM RestaurantTimings', function(err, rows, fields)
{
console.log('Connection result error '+err);
RestaurantTimings = rows;
callback();
});
}
// Send the response
], function ( error, results ) {
response.json({
'Collages' : name_of_Collages,
'RestaurantTimings' : RestaurantTimings
});
} );
} );
//
//REQUEST FOR Collage SCREEN
//
app.get('/College1',function(request,response){
var College1, RestaurantTimings;
async.series( [
// Get the first table contents
function ( callback ) {
connection.query('SELECT * FROM College1', function(err, rows, fields)
{
console.log('Connection result error '+err);
College1 = rows;
callback();
});
},
// Get the second table contents
function ( callback ) {
connection.query('SELECT * FROM RestaurantTimings', function(err, rows, fields)
{
console.log('Connection result error '+err);
RestaurantTimings = rows;
callback();
});
}
// Send the response
], function ( error, results ) {
response.json({
'College' : College1,
'RestaurantTimings' : RestaurantTimings
});
} );
} );
http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
[後 - 編集]
今、私は上記のようにエクスプレスプログラムを持っています::それは何をしますか? -> JSON をクライアントに送り返します
私は2つのgetリクエストを定義しました::
ケース 1> :: http:// 40.2.3.3:8213/
Mysql から取得したデータから、JSON 応答を取得する場合table1
- > table1 は大学のリストです
ケース 2> :: 使用すると、Mysqlhttp:// 40.2.3.3:8213/College1
から取得したデータから、別の JSON 応答を取得しますtable2
-> テーブル 2 は、college1 の説明です
完全なアプリケーションをサーバー側にデプロイします
- 明日
table1
、新しい大学名に新しい値を追加し、それをmysqlデータベースで定義します - 次に、mysql データベースにも新しい college2 の新しいデータベース テーブルを追加します。
新しい JSON を取得するために高速コードを変更するべきではありません::
- クライアントがcollege2の情報を要求した場合..... Expressプログラムはその入力を受け取り、FLYでJSONを生成する必要があります!!
私がはっきりしていることを願っています
ありがとう、