Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

System.NotSupportedException

Olá.

Estou com um problema.

Fui realizar a atividade "Mão na massa" para implementar as mesmas coisas que artistas, porém estou com o retorno abaixo

System.NotSupportedException: The deserialization constructor for type 'Castle.Proxies.MusicaProxy' contains parameters with null names. This might happen because the parameter names have been trimmed by ILLink. Consider using the source generated serializer instead.
   at System.Text.Json.ThrowHelper.ThrowNotSupportedException_ConstructorContainsNullParameterNames(Type declaringType)
   at System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.PopulateParameterInfoValues(JsonTypeInfo typeInfo)
   at System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.CreateTypeInfoCore(Type type, JsonConverter converter, JsonSerializerOptions options)
   at System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver.GetTypeInfo(Type type, JsonSerializerOptions options)
   at System.Text.Json.JsonSerializerOptions.GetTypeInfoNoCaching(Type type)
   at System.Text.Json.JsonSerializerOptions.CachingContext.CreateCacheEntry(Type type, CachingContext context)
--- End of stack trace from previous location ---
   at System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(Type type, Boolean ensureConfigured, Nullable`1 ensureNotNull, Boolean resolveIfMutable, Boolean fallBackToNearestAncestorType)
   at System.Text.Json.JsonSerializerOptions.GetTypeInfoForRootType(Type type, Boolean fallBackToNearestAncestorType)
   at System.Text.Json.JsonSerializerOptions.TryGetPolymorphicTypeInfoForRootType(Object rootValue, JsonTypeInfo& polymorphicTypeInfo)
   at System.Text.Json.Serialization.Metadata.JsonTypeInfo`1.SerializeAsync(Stream utf8Json, T rootValue, CancellationToken cancellationToken, Object rootValueBoxed)
   at Microsoft.AspNetCore.Http.HttpResponseJsonExtensions.WriteAsJsonAsyncSlow[TValue](Stream body, TValue value, JsonSerializerOptions options, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Http.RequestDelegateFactory.ExecuteResultWriteResponse(IResult result, HttpContext httpContext)
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext context)

HEADERS
=======
Accept: */*
Connection: keep-alive
Host: localhost:7089
User-Agent: PostmanRuntime/7.42.0
Accept-Encoding: gzip, deflate, br
Postman-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

Isso ocorre ao realizar a consulta por "Nome", porque a consulta por musicas , lista normalmente.

print da requisição de musicas

Ao buscar a primeira música, ele retorna a mensagem

print do erro de requisição de música

Meu método de busca de músicas está assim

print do método de busca por nome da música

Alguém conseguiria me dar uma luz?

Agradecido!.

2 respostas

Olá. Acredito que consegui resolver. Meu construtor de música estava somente com um construtor com parâmetros. Adicionei um construtor vazio e deu certo porém não sei se é exatamente correto isso.

print do construtor de música

print da requisição de música

solução!

Olá, estudante. Tudo bem?

Adicionar o construtor vazio foi correto, já que o framework o Entity Framework utilizou ele para criar instâncias da sua classe. Apenas certifique-se de que isso faz sentido para sua lógica de negócio. Se a música sempre deve ter um nome, mantenha também o construtor acima com parâmetros.

Qualquer dúvida, o fórum está à disposição!

Bons estudos.