REST Dúvida método POST

1 resposta
L

Pessoal,

Preciso da seguinte funcionalidade: Duplicar um registro.
Montei o seguinte método:

@Path("/xpto")
@Produces(value = MediaType.APPLICATION_JSON)
@Consumes(value = MediaType.APPLICATION_JSON)
public class XptoWS {


    @POST
    @Path("/duplicar/{idXpto}/{descricao}")
    @Consumes(value={MediaType.TEXT_PLAIN, MediaType.APPLICATION_XML})
    public Response duplicar(@PathParam("idXpto") String idXpto, @PathParam("descricao") String descricao) {


    }
}

Preciso duplicar o registro XPTO, por isso adicionei o “/duplicar…” e logo após o ID do registro que eu quero duplicar, seguida da Descrição que o novo registro vai ter.

Essa seria a forma correta de fazer esse POST?

Estou tendo problemas para “acessar” esse método. Se eu executo

/xpto/duplicar?idXpto=6167819740414484810&descricao=testando

recebo um erro 404 (Not Found)

Alguma idéia?

1 Resposta

F

Vc tem q acessar usando

/xpto/duplicar/6167819740414484810/testando

Para vc usar com o link

/xpto/duplicar?idXpto=6167819740414484810&descricao=testando

vc terá que mudar PathParam para QueryParam

Outra construção q acho q é possível, não tenho certeza agora, teria q testar é

@POST  
@Path("/duplicar")  
@Consumes(value={MediaType.TEXT_PLAIN, MediaType.APPLICATION_XML})  
public Response duplicar(@QueryParam("idXpto") String idXpto, @QueryParam("descricao") String descricao) {  
}

e na requisição vc faria
/xpto/duplicar
e os atributos dentro do corpo da requisição.

Criado 11 de julho de 2015
Ultima resposta 11 de jul. de 2015
Respostas 1
Participantes 2