[英]Sending URL Parameters to a Python REST API using Javascript
[英]Sending parameters to Rest API for SQL Server
我已经创建了一个 SQL 服务器,其中一个表在我可以本地访问的服务器上包含数据。 我还在同一台服务器上创建了一个“API”来从 SQL 服务器获取信息,以便我的 angular 应用程序可以读取它。
At the moment, I can read the rows in the SQL server and have them displayed in my angular application, but, I want to be able to update the SQL table from my angular app (through the API).
这是我的 API ( sqlserver.js
):
var express = require('express');
var app = express();
var cors = require('cors');
app.use(cors())
app.get('/', function (req, res) {
var sql = require("msnodesqlv8");
// config for your database
var config = "server=servername;Database=dataBaseName;Trusted_Connection=Yes;Driver={SQL Server Native Client 11.0}"
const query = "SELECT * FROM tableName";
// connect to your database
sql.query(config, query, (err, rows) => {
res.send(rows)
});
});
var server = app.listen(3097, function () {
console.log('Server is running..');
});
我希望能够使用查询
const query = "SELECT * from tableName WHERE ID LIKE <inputFromAngular>"
但我不确定如何将参数从 angular 获取到sqlserver.js
中。 (如果我能做到这一点,那么它将导致使用SET
更新 SQL 表
在我的 angular 应用程序中,这就是我调用sqlserver.js
以显示 SQL 表的方式:
import { HttpClient } from '@angular/common/http';
constructor(
private httpService: HttpClient
) { }
this.httpService.get("http://servername:3097").subscribe(response => {
console.log(response)
this.sqlData = response;
})
我尝试过使用this.httpService.post()
但我不确定如何获取 API 中的参数?
您将需要更改获取方法以从 ui 端发送参数并在后端获取参数,因此添加一个服务器端方法,例如
app.get('/:id', function (req, res) {
var sql = require("msnodesqlv8");
var id = req.params.id,
// config for your database
var config = "server=servername;Database=dataBaseName;Trusted_Connection=Yes;Driver={SQL Server Native Client 11.0}"
const query = "SELECT * FROM tableName WHERE ID LIKE "+id;
// connect to your database
sql.query(config, query, (err, rows) => {
res.send(rows)
});
});
然后在 angular 侧
this.httpService.get("http://servername:3097/"+yourid).subscribe(response => {
console.log(response)
this.sqlData = response;
})
Also I would suggest you to create a root like /yourapiname/:id
instead of /:id
and url on angular side should be " http://servername:3097/yourapiname "+yourid because your current root can result to confliction.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.