如何在c#中将JSON对象作为参数输入控制器方法
本文关键字:参数 输入 控制器 方法 对象 中将 JSON | 更新日期: 2023-09-27 18:02:39
下面是我的控制器类:
using Pay.Models;
using System.Web.Http;
using Pay.General;
namespace Pay.Controllers
{
[RoutePrefix("Account")]
public class AccountsController : ApiController
{
[Route("Login")]
[HttpPost]
public UserSession Login([FromBody]LoginUser loginUser)
{
if (loginUser.email != null && loginUser.password !=null && loginUser.token !=null) { }
byte[] mSessionID = new Session().getmSessionID();
return new UserSession
{
SessionID = mSessionID
};
}
}
}
模型类LoginUser是
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Pay.Models
{
public class LoginUser
{
public string email { get; set; }
public string password { get; set; }
public byte[] token { get; set; }
}
}
但是当我调用Login函数时,LoginUser对象被设置为null。请告知如何将JSON对象设置为Controller类
我得到了同事的帮助,她找到了一个合适的链接。
https://weblog.west-wind.com/posts/2013/dec/13/accepting-raw-request-body-content-with-aspnet-web-api..。
我为解决这个问题所做的代码更改是
public async Task Login(){字符串输入= await Request.Content.ReadAsStringAsync();dynamic data = Newtonsoft.Json.Linq.JObject.Parse(input);}
(输入-返回JSON格式的字符串)(data -返回JSON对象)