REST Webservicesの新機能です。現在、Spring JPAをサービスの開発に使用しています。私はRESTレスポンスの選択列を返すのが難しいです。私の問題は以下の通りです:REST JSONレスポンスの列数を少なくする
私は列
- 同上
- 名前
- 年齢
- 市
- 携帯電話番号
My User Entityオブジェクトは
です。@Entity
@Table(name="user")
public class User
{
@Id
@GeneratedValue(generator="ID", strategy=GenerationType.SEQUENCE)
private long id;
@Column(name="Name")
private string name;
@Column(name="age")
private int age;
@Column(name="city")
private string city;
@Column(name="mobile number")
private string mobileNumber;
.
.
.
getter and setters
.
.
.}
私が開発するために、2つの要件の下にあります。
- が唯一の3つの列(ID、名前と携帯電話番号) ですべての行を返すために、すべての列とすべての行を返すには最初の要件の
は、私はそれが第二requirためのfindAll()JPA
のを使用して、作業取得することができましたこれにより
@Query("select New com.org.user(u.id, u.name, u.mobileNumber) from user u")
public List<user> getList()
は、私のJSONレスポンスは、他の2つの分野(都市及び年齢)を有する既定値ではなく、テーブル内の実際の値を以下のように見ていた:ement、私は以下のようにカスタムクエリを使用してみました。
[
{
"id": 1,
"name":"Rocky"
"age":0,
"city":null,
"mobileNumber": "9080980909"
},
{
"id": 2,
"name":"Stella"
"age":0,
"city":null,
"mobileNumber": "8909012239"
}
.
.
.
.
{
"id": 10,
"name":"Una"
"age":0,
"city":null,
"mobileNumber": "78976887989"
}
]
誰かが、私は上記のような応答を得ることができる方法のよう助けてくださいことはできますか?私は三つのフィールド
[
{
"id": 1,
"name":"Rocky",
"mobileNumber": "9080980909"
},
{
"id": 2,
"name":"Stella",
"mobileNumber": "8909012239"
},
.
.
.
{
"id": 10,
"name":"Una",
"mobileNumber": "78976887989"
}
]
を含めるには、以下のようになり、応答を必要としますか
JsonView:https://spring.io/blog/2014/12/02/latest-jackson-integration-improvements-in-spring –
こんにちはアラン、これを行う代わりに作成する他の方法があります必要なすべてのカスタムレスポンスのPOJO – Harish
はい、JsonViewをアドバイスとして使用するか、シリアライザでnullを無視するように設定してください。ジャクソンの場合:http://stackoverflow.com/questions/11757487/how-to-tell-jackson-to-ignore-a-field-during-serialization-if-its-value-is-nullブール値、整数などのnull値を持たないプリミティブの場合は、Pojoにnull値のラッパー・タイプBoolean、Integerなどを使用します。 –