xstream 및 jettison 확장명이있는 jse 버전의 Restlet 2.1.0을 사용하여 다음과 같이 선언 된 리소스를 가질 수 있습니다.xstream 및 jettison을 사용하여 Restlet에 JSON을 게시하면 "지원되지 않는 미디어 유형"이됩니다.
@Get("json")
public Customer retrieve();
이렇게하면 serialization/deserialization을 수행하는 xstream + jettison으로 JSON 문자열을 가져 오거나 Customer 객체를 가져올 클라이언트를 선택할 수 있습니다. 내가 좋아하는 뭔가를 사용하여 게시 할 수 있습니다
@Post
public Customer store(Customer customer);
가 :
clientResource.post(customer, Customer.class);
이 모두 잘 작동하는 것 같다
는 또한 다음과 같이 선언 된 자원의 방법이있다. 그러나 작동하지 않는 한가지는이 포스트 Restlet 리소스에 JSON String을 게시하는 가장 간단한 시나리오입니다.
나는 다음과 같은 JSON 문자열 게시 할 때 :
{"com.redprairie.task.common.Customer":{"firstName":"George","lastName":"Shaw","birthDate":"1856-07-26 07:00:00.0 UTC","address":"Bibbs Hall Lane, Ayot St. Lawrence, AL6 9BX United Kingdom"}}
나는이 스택 트레이스 수 :
<failure message="Unsupported Media Type (415) - Unsupported Media Type" type="org.restlet.resource.ResourceException">Unsupported Media Type (415) - Unsupported Media Type
at org.restlet.resource.ClientResource.doError(ClientResource.java:612)
at org.restlet.resource.ClientResource.handleInbound(ClientResource.java:1203)
at org.restlet.resource.ClientResource.handle(ClientResource.java:1070)
at org.restlet.resource.ClientResource.handle(ClientResource.java:1087)
at org.restlet.resource.ClientResource.post(ClientResource.java:1438)
at com.redprairie.task.common.rest.RestletResource.post(RestletResource.java:99)
at com.redprairie.task.common.rest.ServerResourceTest.testPostMethodUsingJSON(ServerResourceTest.java:165)
을 내가, 내가 잘못 간단 뭔가가 추측하고있어하지만, 나는 그것이 무엇인지 모른다.
내가 resource.post (jsonString), resource.post (jsonString, MediaType.APPLICATION_JSON)를 사용하여 그것을 시도하고 내가 얻을 두 경우 모두 같은 오류. – user1735826