次のようなクラスがあります。
public class Test {
@JsonProperty("name")
private String name;
public Test(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
また、javax.ws.rs を使用したエンドポイント クラスもあります。
@Path("/Test")
public class Endpoint {
@POST
@Consumes("application/json")
@Produces("application/json")
@HeaderParam("Accept") @DefaultValue("application/json")
public Response createTest(String json) {
return Response.status(Response.Status.ACCEPTED).entity(json).build();
}
}
これは期待どおりに機能します。
質問: createTest() が "String" の代わりに "Test" クラスをパラメーターとして受け取るようにするにはどうすればよいですか?
試用版: createTest() のパラメーターとして「Test」を使用すると、次のメッセージを送信すると「415 Unsupported Media Type」が返されます。
POST ../Endpoint/ HTTP/1.1
Host: localhost:8080
Accept: application/json
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 56d06798-2b32-57fc-c22a-0240aceb8f98
{
"name": "Kalle"
}