Как получить несколько списков объектов из контроллера REST? - PullRequest
0 голосов
/ 17 января 2019

Мне нужно получить два списка объектов двух разных типов в качестве параметров от контроллера покоя, и он посылает мне

"error": "Internal Server Error",

"message": "Failed to convert value of type 'java.lang.String' to required type 'java.util.List';
nested exception is java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type
'com.nord.execom.domain.Category': no matching editors or conversion strategy found"

Часть моего контроллера:

 @RequestMapping(
        value = "/projects",
        params = {"category", "location"},
        method = GET)
@ResponseBody
public ResponseEntity<List<Project>> getProjects(@RequestParam("category") List<Category> category,
                                                 @RequestParam("location") List<Location> location) {
    List<Project> project = projectService
            .getProjects(category, location);

    return ResponseEntity.ok().body(project);

}

Мой объект категории (объект местоположения того же типа):

@Entity
@Table(name = "category")
public class Category {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int Id;

@NotBlank
@Column(unique = true)
@Size(min = 1, max = 50)
private String name;

@OneToMany(mappedBy = "category")
private List<Project> project;

Так что мне было интересно, есть ли способ сообщить контроллеру, что я хочу взять параметры в виде списка объектов, а не строк?

1 Ответ

0 голосов
/ 17 января 2019
  1. Определить класс модели
  2. Определите в нем arraylist.
  3. Используйте аннотацию @RequestBody, как показано ниже: -

    ModelClass{
    
        List<String> list;
        //Getters and setter for the attribute 
    
        }
    

    public ResponseEntity> getProjects (модель @ResponseBody ModelClass) {

    }

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