Método addUsers num grupo

Estou tentando inserir um usuário num grupo.

Eu não tenho um número para identificar o grupo (segundo a página de documentação, sugere-se um número), mas um nome ‘avalestsp_admins’.

Tentei com o seguinte código sob um evento de ‘click’ numa Widget (O usuário tem a matrícula ‘afer’):

let arrayNomes=['afer'];
    jQuery.ajax({
        method: 'POST',
        url: '/api/public/2.0/groups/addUsers/avalestsp_admins',
        data: arrayNomes,
        success: function(data) {
        alert(data);
        },
        error: function(err) {
        alert("ERRO:  "+err);
        }
});//ajax

Mas vem um erro, que diz Object Object.

Troque o “alert(err)” por um console.log(err), vai facilitar para vc ver o erro retornado.

@everton , não ajudou muito. O console mostra

responseText: “{“code”:“NotSupportedException”,“message”:“NotSupportedException”,“detailedMessage”:“NotSupportedException”,“helpUrl”:null,“details”:[]}”

Fiz um teste pelo console do navegador com o código abaixo, retornou normal, faça um testa aí:

fetch('/api/public/2.0/groups/addUsers/avalestsp_admins', {
    method: 'POST',
    headers: {"Content-type": "application/json;charset=UTF-8"},
    body: JSON.stringify(['afer'])
})
.then(response => response.json())
.then(json => console.log(json))
.catch(err => console.error(err));
1 curtida

Funcionou, @everton . Muito obrigado.

@everton, deixa eu te perguntar uma coisa a mais, por favor. A linha

.then(json => console.log(json))

está retornando ‘undefined’. Deveria retornar com o quê?

Segundo a documentação da API deveria retornar um JSON conforme baixo:


{
 	content: null
 	message: {
 		message: "Usuários adicionados com sucesso ao grupo 99."
 		detail: "Usuários adicionados com sucesso ao grupo 99."
 		type: "INFO"
 	}
 }

Acho que o seu código anterior deve funcionar assim:

let arrayNomes=['afer'];
    jQuery.ajax({
        method: 'POST',
        url: '/api/public/2.0/groups/addUsers/avalestsp_admins',
        data: JSON.stringify(arrayNomes),
        success: function(data) {
        alert(data);
        },
        error: function(err) {
        alert("ERRO:  "+err);
        }
});//ajax

Esquisito, porque insere no grupo, mas a variável ‘json’ retorna undefined.

No console do navegador também está assim?
No teste que eu fiz retornou o json no padrão da API.

Está no console como ‘undefined’.

O primeiro .then() usa o método .json() para converter a resposta, vc poderia colocar um console.log nele para ver como está vindo a resposta do fluig.

Exemplo:

.then(response => {
    console.log(response);
    response.json();
})

Coloque um ponto de parada no “console.log” e dê uma analisada na resposta.

Vou fazer isto no fim de semana, @everton. Agora fiquei enrolado. Muito obrigado pela ajuda.