ASP.NET Core中的Post请求与响应

前后端交互实战:HTTP请求与Entity Framework应用
本文详细介绍了前端使用`wx.request`发送POST请求与后端使用ASP.NET Core接收并处理`HttpServletRequest`的示例,以及如何通过Entity Framework操作数据库。同时展示了前端发送JSON格式数据和后端返回格式化的响应。
该文章已生成可运行项目,

1.HttpContext

后端:

app.UseHttpLogging();
app.MapPost("/Test", (HttpContext httpContext) =>
{
    string para = httpContext.Request.Form["para"];
    return httpContext.Response.WriteAsync($"para={para}");
});

前端:

wx.request({
    url: 'http://localhost:5140/test',
    method: 'POST',
    header: { "Content-Type": "application/x-www-form-urlencoded" },
    data: { para: "today is Tuesday" },
    success: res => console.log(res.data)
});

header: { "Content-Type": "application/x-www-form-urlencoded" }为必须项。

结果:

para=today is Tuesday

2.实体类

后端:

using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<CustomerDb>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("XunceWx")));
var app = builder.Build();

app.MapPost("/Test", (Customer customer) =>
{
    return Results.Ok($"name:{customer.Name},tel:{customer.Tel}");
});

app.Run();

class Customer
{
    [Key]
    public long Id { get; set; }
    public string? Name { get; set; }
    public string? Tel { get; set; }
}
#nullable disable
class CustomerDb : DbContext
{
    public CustomerDb(DbContextOptions<CustomerDb> options) : base(options) { }
    public DbSet<Customer> Customer { get; set; }
}

前端:

wx.request({
    url: 'http://localhost:5013/test',
    method: 'POST',
    data: JSON.stringify({ id: 17, name: 'fakename', tel: 'faketel' }),
    header: { "Content-Type": "application/json" },
    success: res => console.log(res.data)
});

header: { "Content-Type": "application/json" }为必须项。

结果:

name:fakename,tel:faketel

本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值