Как указать FieldDescriptors для вложенного объекта заказа для Spring RestDocs, т.е. MockMvc - PullRequest
0 голосов
/ 29 февраля 2020

У меня есть вложенная структура, для которой я хочу создать RestDo c с Spring Mock Mvc. У меня проблема с указанием вложенной структуры. Вот то, что у меня есть, которое работает без указания вложенного объекта.

Customer c = new Customer("John", 30);
Order order = new Order(....);
c.addOrder(order);

{
 "name":"John",
 "age":30,
 "orders": {
 "orderNumber":"12345",
  "quantity":"1",
  "productCode":"CDE-112",
  "productName" :"bicycle"     
}



 ResultActions resultActions = mockMvc.perform(get("/orders/user/{customerId}" ,

 "001022207")
             .contentType(MediaType.APPLICATION_JSON_VALUE))
            .andExpect(status().isOk()).andDo(document("getProductsForUser" ,
                    preprocessRequest(prettyPrint()) ,
                    preprocessResponse(prettyPrint()) ,
                    responseFields(
                            fieldWithPath("name").type(JsonFieldType.STRING).description("The customer name"),
                            fieldWithPath("age").type(JsonFieldType.NUMBER).description("The age of the customer.") ,

К сожалению, я не знаю, как включить вложенный заказ для клиента.

Буду очень признателен это если кто-то может помочь мне понять, как включить дескрипторы полей для вложенного порядка.

1 Ответ

0 голосов
/ 01 марта 2020

Вот как я это решил:

ResultActions resultActions = mock Mvc .perform (get ("/ orders / user / {customerId}",

"001022207")
         .contentType(MediaType.APPLICATION_JSON_VALUE))
        .andExpect(status().isOk()).andDo(document("getProductsForUser" ,
                preprocessRequest(prettyPrint()) ,
                preprocessResponse(prettyPrint()) ,
                responseFields(

      fieldWithPath("name").type(JsonFieldType.STRING).description("The customer    name"),                            

fieldWithPath ( "age"). type (JsonFieldType.NUMBER) .description ("Возраст клиента."), fieldWithPath ("orders. []. orderNumber"). description ("Ordernumber"), fieldWithPath ("orders. [ ] .quantity "). описание (" заказанное количество ")

et c ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...