使用Nancy接收Post请求发送的Json字符串

本文介绍如何在Nancy框架中接收并处理来自Post请求的JSON字符串。通过`Request.Body.AsString()`获取JSON数据,使用Newtonsoft.Json进行反序列化,并展示了如何返回JSON响应。特别指出,在Postman测试时,正确读取请求体的方式是`Request.Body.AsString()`而非`Request.Form[""]`。

导入Nancy

Nancy的使用:

代码段:

using Nancy;
using Nancy.Extensions;
using Newtonsoft.Json;
using System.Collections.Generic;
 
namespace Info
{
    public class PersonApi : NancyModule
    {
        #region 模块对象
        private PersonIBLL personBLL = new PersonBLL();
        #endregion
        public PersonApi ():base("api/BusiInfo/Person")
        {
            Post["/GetPersonInfo"] = para =>
            {
                //string postData = Request.Form[""];
                
                string postData = Request.Body.AsString();
                dynamic info = JsonConvert.DeserializeObject(postData);
                Person  StationList = personBLL .GetEntity(info.ID.ToString());
                
                // 返回登录结果对象集
                return Response.AsJson(StationList);
            };
            Post["/GetList"] = para =>
            {
                
                    //string postData = Request.Form[""];
                    
                    string postData = Request.Body.AsString();
                    dynamic info = JsonConvert.DeserializeObject(postData);
                    IEnumerable<PersonEntity> StationList = personBLL.GetList(info.PERSONNO.ToString(), info.PERSONTYPE.ToString());
                    // 返回登录结果对象集
                    return Response.AsJson(StationList);
 
                
               
            };
            
        }
    }
}
使用postman来测试发送请求:

使用postman时,nancy接收请求用

string postData = Request.Form[""];

而不用:string postData = Request.Body.AsString();

当返回数据量多时,返回用return Response.AsText(json),但是需要将数据转化成json格式;


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值