標籤: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)