rest-assured的對象映射(Object Mapping)

來源:互聯網
上載者:User

標籤:code   win   conf   jsonp   oid   doc   定義   res   使用   

rest-assured支援映射Java對象到Json和XML以及從Json和XML中映射到Java對象。Json映射需要在classpath 中有Jackson、Jackson 2或者是Gson,XML映射需要在classpath 中有JAXB。

1.JsonPath映射

例如:讓我們來看一下我們想提取第一個winner到JavaBean對象中:

Json資料準備:

 1 {"lotto":{ 2     "lottoId":5, 3     "winning-numbers":[2,45,34,23,7,5,3], 4     "winners":[{ 5       "winnerId":23, 6       "numbers":[2,45,34,23,3,5] 7     },{ 8       "winnerId":54, 9       "numbers":[52,3,12,11,18,22]10     }]11   }12 }

JavaBean對象:

 1 public class Winner { 2  3     private int winnerId; 4     private List<integer> numbers; 5  6     public int getWinnerId() { 7         return winnerId; 8     } 9 10     public void setWinnerId(int winnerId) {11         this.winnerId = winnerId;12     }13 14     public List<integer> getNumbers() {15         return numbers;16     }17 18     public void setNumbers(List<integer> numbers) {19         this.numbers = numbers;20     }21 }

我們可以提取一個winner作為JavaBean:

1 Winner winner = from(LOTTO).getObject("lotto.winners[0]", Winner.class);

配置:

你可以通過配置自訂的對象映射、配置預定義的對象映射(已經存在的)、字元集等非常簡單的配置JsonPath。你可以通過以下方式來配置JsonPath:

1 JsonPath jsonPath = new JsonPath(new File("/tmp/document.json")).2                            using(new JsonPathConfig("ISO-8859-1"));3 ..

當解析 /tmp/document.json檔案的時候,就會通知JsonPath以content type=ISO-8859-1的字元集來展示資料

 

2.xmlPath對象映射:

通過使用xmlPath的JAXB,你可以很容易映射xml檔案或者是不分xml檔案到一個Java對象。

xml檔案資料準備:

 1 <greetings> 2    <greeting> 3       <firstName>John</firstName> 4       <lastName>Doe</lastName> 5    </greeting> 6     <greeting> 7       <firstName>Jane</firstName> 8       <lastName>Doe</lastName> 9    </greeting>10    <greeting>11       <firstName>Some</firstName>12       <lastName>One</lastName>13    </greeting>14 </greetings>

JavaBean對象準備:

 1 @XmlRootElement 2 public class Greeting { 3     private String firstName; 4     private String lastName; 5  6     public String getFirstName() { 7         return firstName; 8     } 9 10     public void setFirstName(String firstName) {11         this.firstName = firstName;12     }13 14     public String getLastName() {15         return lastName;16     }17 18     public void setLastName(String lastName) {19         this.lastName = lastName;20     }21 }

映射xml文檔中的第一個greeting到Greeting執行個體中:

1 Greeting greeting = from(greetingsXml).2          getObject("greetings.greeting[0]", Greeting.class);

配置:

你可以通過配置自訂的對象映射、配置預定義的對象映射(已經存在的)、字元集等非常簡單的配置xmlPath。你可以通過以下方式來配置xmlPath:

1 XmlPath xmlPath = new XmlPath(new File("/tmp/document.xml")).2                         using(new XmlPathConfig("ISO-8859-1"));3 ..

 

rest-assured的對象映射(Object Mapping)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.