1
resposta

Resultado de chamada REST sendo passado como nulo para o Controller

Estou desenvolvendo uma aplicação na qual preciso fazer algumas chamadas Rest e exibir os resultados no html. Porém, estou com problemas para passar o resultado para o Controller (está chegando como vazio). O JavaScript está assim:

class RestCall {
    GetDPID(btn) {
        var xhr = new XMLHttpRequest();
        var header = {};
        xhr.open("GET", "http://192.168.25.5:8080/stats/switches");
        xhr.addEventListener("load", function () {
            var resposta = xhr.responseText;
            console.log(resposta) //JSON de resposta logando ok
            $.ajax({
                url: '/MonitorSDN/GetDPID',
                type: 'Post',
                contentType: 'application/json',
                headers : header,
                data: resposta,
            }).done(function (response) {
            })
        } 
            )
        xhr.send();
    }
}
var restcall = new RestCall();

Já no Controller o código está assim:

        public void GetDPID([FromBody] List<SwitchSDN> input)
        {
            var teste = input;
        }

Em resumo o console.log está exibindo resultado esperado, mas a variável input do Método GetDPID do controller está chegando vazia. Agradeço qualquer ajuda.

1 resposta

Olá Pedro,

O que acontece é que o nome da variável do seu controller instrui o framework a procurar por uma chave de mesmo nome no seu data. Talvez esse campo não se chame input. Você pode enviar um exemplo do seu xhr.responseText pra eu dar uma olhada?