Articles of descanso

Jersey com Struts2

Eu estou usando jersey com Struts2. Mas por chamadas de serviço RestFul não estão funcionando. Abaixo estão meus arquivos de configurações struts.xml true ERROR /service/* binMaster Web.xml org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG /WEB-INF/tiles.xml struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* org.apache.struts2.tiles.StrutsTilesListener jersey-serlvet com.sun.jersey.spi.container.servlet.ServletContainer com.sun.jersey.config.property.packages com.gemini.rest.controller com.sun.jersey.api.json.POJOMappingFeature true 1 jersey-serlvet /service/* index.jsp

Manipulação de exceção do Spring Resttemplate

Abaixo está o trecho de código; Basicamente, estou tentando propagar a exceção quando o código de erro é diferente de 200. ResponseEntity response = restTemplate.exchange(url.toString().replace(“{version}”, version), HttpMethod.POST, entity, Object.class); if(response.getStatusCode().value()!= 200){ logger.debug(“Encountered Error while Calling API”); throw new ApplicationException(); } No entanto, no caso de uma resposta 500 do servidor, estou recebendo a exceção org.springframework.web.client.HttpServerErrorException: […]

Desabilitar HAL (Hypertext Application Language) em JSON?

Usando o Spring Data REST com JPA na versão 2.0.2.RELEASE. Como posso desativar o Hypertext Application Language (HAL) no JSON? http://stateless.co/hal_specification.html Já tentei muitas coisas, mas sem sucesso. Por exemplo, eu defini os headers Accept e Content-type como “application / json” em vez de “application / hal + json”, mas ainda recebo o conteúdo JSON […]

Erro de Invoke-WebRequest HTTPS do Powershell v3

Usando o Invoke-WebRequest e Invoke-RestMethod do Powershell v3 Eu usei com sucesso o método POST para postar um arquivo json em um site https. O comando que estou usando é $cert=New-Object System.Security.Cryptography.X509Certificates.X509Certificate2(“cert.crt”) Invoke-WebRequest -Uri https://IPADDRESS/resource -Credential $cred -certificate $cert -Body $json -ContentType application/json -Method POST No entanto, quando tento usar o método GET como: Invoke-WebRequest […]

REST vs JSON-RPC?

Estou tentando escolher entre REST e JSON-RPC para desenvolver uma API para um aplicativo da web. Qual deles é mais fácil de usar para clientes de API? Atualização 2015: Eu achei o REST mais fácil de desenvolver e usar para uma API que é servida na Web / HTTP, porque o protocolo HTTP existente e […]

Qual é a maneira correta de enviar um arquivo do serviço web REST para o cliente?

Acabei de começar a desenvolver serviços REST, mas me deparei com uma situação difícil: enviar arquivos do meu serviço REST para meu cliente. Até agora eu peguei o jeito de enviar tipos de dados simples (strings, inteiros, etc), mas enviar um arquivo é um assunto diferente, já que existem tantos formatos de arquivos que eu […]

Como faço para codificar os valores dos parâmetros do URI?

Eu quero enviar um URI como o valor de um parâmetro de consulta / matriz. Antes que eu possa anexá-lo a um URI existente, eu preciso codificá-lo de acordo com o RFC 2396. Por exemplo, dada a input: http://google.com/resource?key=value1 & value2 Espero que a saída: http%3a%2f%2fgoogle.com%2fresource%3fkey%3dvalue1%2520%26%2520value2 Nem o java.net.URLEncoder nem o java.net.URI geram a saída […]

Por que meu software de servidor da web não permite solicitações PUT e DELETE?

Eu estou tentando implementar um protocolo REST e percebi na tentativa de depurar que meu servidor web está desautorizando a solicitação PUT . Eu testei e confirmei isso ainda mais executando: curl -X PUT http://www.mywebserver.com/testpage Que para o meu servidor web devolve um erro 403 – Proibido . O mesmo acontece com DELETE , onde […]

SEVERE: MessageBodyWriter não encontrado para tipo de mídia = application / json, type = class com.jersey.jaxb.Todo, genericType = class com.jersey.jaxb.Todo

Eu estou tentando criar um serviço web RESTful e eu criei um, mas eu estou recebendo um MessageBodyWriter não encontrado para o tipo de mídia = application / json error Minha class Todo : package com.jersey.jaxb; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; import org.pojomatic.Pojomatic; import org.pojomatic.annotations.AutoProperty; @XmlRootElement @XmlType(name = “todo”) @XmlAccessorType(XmlAccessType.FIELD) […]

Usando o JAXB para unmarshal / marshal uma lista

Estou tentando criar um servidor REST muito simples. Eu só tenho um método de teste que retornará uma lista de seqüências de caracteres. Aqui está o código: @GET @Path(“/test2”) public List test2(){ List list=new Vector(); list.add(“a”); list.add(“b”); return list; } Dá o seguinte erro: SEVERE: Um escritor de corpo de mensagem para o tipo Java, […]