当前位置: 首页 > 知识库问答 >
问题:

Asp Net核心MVC控制器中的对象反序列化失败

魏宸
2023-03-14

我创建了一个API应用程序,没有完整的MVC模板。但是,带有正文的POST请求总是由于内部服务器错误而失败。

protected override IEnumerable<ServiceReplicaListener> CreateServiceReplicaListeners()
{
    return new ServiceReplicaListener[]
    {
        new ServiceReplicaListener(serviceContext =>
            new KestrelCommunicationListener(serviceContext, (url, listener) =>
                new WebHostBuilder()
                    .UseKestrel()
                    .ConfigureServices(
                         services => services
                             .AddSingleton<StatefulServiceContext>(serviceContext)
                             .AddSingleton<IReliableStateManager>(this.StateManager))
                    .UseContentRoot(Directory.GetCurrentDirectory())
                    .UseServiceFabricIntegration(listener, ServiceFabricIntegrationOptions.UseUniqueServiceUrl)
                    .UseStartup<Startup>()
                    .UseUrls(url)
                    .Build()
            ))
    };
}
[Route("[controller]")]
[ApiController]
public class MyController : ControllerBase
{

    [HttpGet("Read1")]
    public async Task<ActionResult<string>> Read1()
    {
        return "asd";
    }
    [HttpPost("Read2")]
    public async Task<ActionResult<string>> Read2()
    {
        return "asd";
    }
    [HttpPost("Read3")]
    public async Task<ActionResult<MyOutput>> Read([FromBody]MyInput input)
    {
       
        var a = new MyOutput();
        a.Value= "asdasd";
        return a;
        
    }
}

using System.Runtime.Serialization;
[DataContract]
public class MyInput
{

    [DataMember]
    public string Value{ get; }

    public MyInput(string val)
    {
        Value= val;
    }
}
{
    "Value": "cat"
}

可能是什么原因造成的?

共有1个答案

蒋阳华
2023-03-14

在我的例子中,我缺少json格式化程序:

services.AddMvcCore().AddJsonFormatters();

也许能帮上什么忙。

 类似资料:
  • 本文向大家介绍ASPNET中JSON的序列化和反序列化的方法,包括了ASPNET中JSON的序列化和反序列化的方法的使用技巧和注意事项,需要的朋友参考一下 一、JSON简介  JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式。 JSON是“名值对”的集合。结构由大括号'{}',中括号'[]',逗号',',冒号':',双引号'

  • 我有以下映射: 和以下道: 当在控制器方法中返回此道的结果时,我看到无限递归json: [{"contentId": 1,"name":"DSC_0029. JPG","版主状态":"IN_PROGRESS","版主评论":""","内容":{"userContent":{"contentId": 1,"name":"DSC_0029. JPG","版主状态":"IN_PROGRESS","版主评

  • 本文向大家介绍java对象的序列化和反序列化,包括了java对象的序列化和反序列化的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java对象的序列化和反序列化,供大家参考,具体内容如下 1. 什么是序列化        将对象转换为字节流保存起来,比如保存到文件里,并在以后还原这个对象,这种机制叫做对象序列化。(补充一句:把对象保存到永久存储设备上称为持久化) 2. 怎么实现序列化

  • 以下代码导致此异常: 所以问题是:如何在GSON序列化和反序列化的泛型HashMap中获得正确的实例?

  • 错误: java.lang.ClassNotFoundException:testprocedure.tp$3在java.net.URLClassLoader$1上运行(未知源)在java.net.URLClassLoader上运行(未知源)在java.security.accessController.doprivileged(本机方法)在java.net.URLClassLoader.find