0

私はあなたが行うのとほぼ同じように、私はPOJOにフォームデータをバインドする方法があるかどうかを知りたいジャージー2.26とJava 8ジャージー2 MVC -

を使用してMVCアプリケーションを構築していバインディングフォームデータ私はこのようなものかもしれないように、春には、:

@POST 
@Path("/edit") 
@Consumes({ MediaType.APPLICATION_FORM_URLENCODED }) 
@Produces(MediaType.TEXT_HTML) 
public Viewable editInventory(Inventory inventory) { 
    .... 
} 

を私はあなたが@FormParam(「paramNameに」)を使用して、個々のプリミティブをバインドすることができます知っているが、私のポストペイロードがダース属性の上に含まれているとして、これは面倒です。 私はドキュメントとサンプルを検索しようとしましたが、JSONとXMLペイロードのソリューションしか見つけることができません。

答えて

0

はい、あなたはMediaType.APPLICATION_FORM_URLENCODEDの代わりにMediaType.APPLICATION_JSONを消費する必要があります。そのオブジェクトでも応答したい場合は、[email protected]の注釈をInventoryクラスに追加する必要があります。

0

私は@BeanParamアノテーションと@FormParamアノテーションを併用することができます。

https://jersey.github.io/documentation/latest/jaxrs-resources.html#d0e2482

私は実際に適切にドキュメントを読んでいる場合に役立ちます!

EDIT - peacetypeさんのコメント、

//model 
public class Inventory { 

    @FormParam("inventoryName") 
    private String inventoryName; 
} 

//controller 
@Path("inventory") 
public class InventoryController { 

    @POST 
    @Path("/new") 
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
    @Produces(MediaType.TEXT_HTML) 
    public Response newInventory(@Valid @BeanParam Inventory Inventory) { 
     ... 
    } 
+0

以下の例のコードごととしてあなたはそれが他の人を助けるかもしれないので、あなたの答えにあなたを助けたコードの一部を投稿する必要があります。 – peacetype

関連する問題