私は jersey を使用しており、Resource クラスに複数のパラメーターを持つメソッドがあります。これらのパラメーターは を使用して入力されます@FormParam
が、問題は、パラメーターの型がカスタム Java 型であり、一部のプリミティブやString
. json
パラメータの値をカスタム Java 型に変換したいと考えています。を使用する@Cosume(MediaType.APPLICATION_JSON)
と、複数のパラメーターを使用できなくなり、それを削除すると、パラメーターを json から Java インスタンスに変換できなくなります。
@POST @Path("/add")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public String add(@FormParam("source") BookEntity source, @FormParam("author") AuthorEntity a) throws JsonGenerationException, JsonMappingException, IOException, TransformationException
{
...
}
パラメータの型をに変更してString
Jacksonの逆シリアル化を使用すると、jsonパラメータをJavaインスタンスに逆シリアル化できますが、他のメソッドに対してもそれを行い、自動的に実行したいと考えています。
リクエスト パラメータを使用するためにカスタム Java タイプで使用されるアプローチを使用しようとしましたが、機能させることができません。