Запрос почтальона на запрос GET с несколькими параметрами <String> - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь протестировать конечную точку API Multi Module Spring WebMVC с помощью Postman.Это веб-приложение Spring-MVC и другие фреймворки.Я хочу знать, как сделать запрос на этот URL.

Мой файл контроллера выглядит следующим образом.

@Controller
@RequestMapping(value = "/xyz")
public class XyzWebController {

  @CrossOrigin(origins = "*")
  @RequestMapping(value = "", method = RequestMethod.GET)
  @ResponseBody
  public List<XyzChild> getProperties(@RequestParam XyzQueryDTO query) {
    return childService.getAll(query);
  }

...

}

XyzQueryDTO.java выглядит следующим образом.

public class XyzQueryDTO {

  List<String> properties;

  List<String> applications;


  public XyzQueryDTO() {
  }

  public XyzQueryDTO(List<String> properties, 
      List<String> applications) {
    super();
    this.properties = properties;
    this.applications = applications;
  }

...

}

Пожалуйста, помогите мне с URL, с помощью которого я могу протестировать этот API.

Заранее спасибо.

1 Ответ

0 голосов
/ 21 мая 2018

Более просто и правильно использовать RequestMethod.POST вместо RequestMethod.GET и @RequestBody вместо @RequestParam

@RequestMapping(value = "", method = RequestMethod.POST)
@ResponseBody
  public List<XyzChild> getProperties(@RequestBody XyzQueryDTO query) {
    return childService.getAll(query);
  }

И вы можете использовать @RestController вместо @Controller и удалить@ResponseBody

Для преобразования типов данных используйте библиотеку Джексона.

<dependency>
 <groupId>com.fasterxml.jackson.core</groupId>
 <artifactId>jackson-databind</artifactId>
 <version>2.8.8</version>
</dependency>

В Почтальоне вы можете указать XyzQueryDTO в BODY как json

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