서버 응답에서 메시지를 보내려고 할 때 : 지원되지 않는 미디어 유형입니다. (415)REST 게시 요청
{
"street": "Alex",
"picture": "fsdfs"
}
저지 2.7을 사용합니다. 그것은 GET을 호출 할 때 okey이지만 문제는 POST 메서드에 있습니다. 프로젝트에 나는 org.glassfish.jersey.media:jersey-media-json-jackson 포함 김정일 \는 this topic
public static void main(String[] args) throws Exception, RuntimeException {
final Application application = new ResourceConfig()
.packages("org.template")
.register(JacksonFeature.class);
server = new Server(PORT_NUMBER);
ServletContextHandler servletContextHandler = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS);
servletContextHandler.addFilter(GuiceFilter.class, "/*", EnumSet.allOf(DispatcherType.class));
servletContextHandler.addServlet(DefaultServlet.class, "/*");
server.start();
server.join();
}
간단한 API에서 같은 코드를 ncluded :
@Path("/test")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class ExampleAPI {
@GET
@Path("hello")
@Produces(MediaType.TEXT_PLAIN)
public String hello() {
return "Hello World";
}
@POST
@Path("/create")
public Response create(BeanInfo bean) {
return Response.created(UriBuilder.fromResource(BeanInfo.class)
.path("{picture}").build(bean.getPicture()))
.entity(bean.toString())
.build();
}
}
여기에 어떤 문제가 ? 객체를 json에 매핑해야합니까?
의 BeanInfo : 당신이 당신의 서비스를 호출 할 때 잘못 Content-Type 헤더를 설정하고 있기 때문에
@JsonProperty("picture")
private final String picture;
@JsonProperty("street")
private final String street;
...
내 클라이언트는 내가 좋아 좋아요 – qwerty12345
이라고 생각하지만 올바르게 구성해야 '우편 배달부 나머지 클라이언트'입니다. Postman을 사용하여 API도 테스트하므로 이미지를 올바르게 구성하는 방법 ("Header"부분에주의) -> [Image at TinyPic] (http://tinypic.com/r/2dsqtg1/8) – Marlon
문제는 빈 클래스에서 발생했습니다. – qwerty12345