如何解决如何在Serverside ExpressJ上更改密钥名称API
我要更改键“ _id”
using Newtonsoft.Json;
using Dapper;
using System;
using System.Data.SqlClient;
using System.Collections.Generic;
public class Program
{
public class OrderDetail
{
public int OrderDetailID { get; set; }
public int OrderID { get; set; }
public int ProductID { get; set; }
public int Quantity { get; set; }
}
public class Result
{
public IEnumerable<OrderDetail> Orders { get; set; }
}
public static void Main()
{
string sql = "SELECT OrderID,Quantity FROM OrderDetails";
using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
{
var orderDetail = connection.Query<OrderDetail>(sql);
var str = JsonConvert.SerializeObject(new Result { Orders = orderDetail },Formatting.Indented);
Console.WriteLine(str);
}
}
}
到“ id”
{
"_id": "5f3202ad5c79b21ee2d0d096","pid": "5f31f3388743e88451e9563c",}
这是我的{
"id": "5f3202ad5c79b21ee2d0d096",}
方法
GET
解决方法
只需放入它,然后删除旧密钥
import 'package:flutter/material.dart';
import 'dart:math' as math;
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',theme: ThemeData(
primarySwatch: Colors.blue,visualDensity: VisualDensity.adaptivePlatformDensity,),home: MyHomePage(title: 'Flutter Demo Home Page'),);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key,this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[
Container(width: 400,height: 40,child: ProgressBarView(value: .9,)),Divider(),Container(width: 300,child: ProgressBarView(value: .7,Container(width: 100,child: ProgressBarView(value: .4,Text(
'You have pushed the button this many times:',Text(
'$_counter',style: Theme.of(context).textTheme.headline4,],floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,tooltip: 'Increment',child: Icon(Icons.add),);
}
}
class ProgressBarView extends StatelessWidget {
ProgressBarView({this.value});
final value;
final _iconSize = 30;
@override
Widget build(BuildContext context) {
return Container(
color: Color(0Xffe6e6e6),padding: EdgeInsets.only(left: 2,right: 2),child: Stack(fit: StackFit.loose,children: [
LinearProgressIndicator(
value: value,valueColor: AlwaysStoppedAnimation<Color>(Colors.red),backgroundColor: Colors.grey,minHeight: 40),LayoutBuilder(builder: (context,constrains) {
//5 is just the right padding
print(constrains.maxWidth);
var leftPadding = constrains.maxWidth * value - _iconSize;
var topPadding = (constrains.maxHeight - _iconSize) / 2;
return Padding(
padding: EdgeInsets.only(left: leftPadding,top: topPadding),child: Transform.rotate(
angle: math.pi / 2,child: Icon(Icons.airplanemode_active,size: _iconSize.toDouble())),);
})
]),);
}
}
,
将此内容添加到您的Schema
中,它将新方法覆盖默认方法(至JSON)。
Schema.method('toJSON',function () {
const {_id,...object } = this.toObject();
object.id = _id;
return object;
});
,
如果仅2个,则可以对其进行解构并重命名
router.get("/person",async (req,res) => {
const { id: _id,pid } = await Person.find();
res.send({ id,pid });
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。