Мы стандартизировали использование JSON: API для наших конечных точек REST;не все наши данные вращаются вокруг репозиториев, и кажется, что CRNK требует репозитории для работы.
Это правильно?
Пример
Iнаписал очень простой пример Spring Boot 2.1.9 с одним контроллером и включенным в него CRNK, но когда я попадаю в свой контроллер, я не получаю ожидаемый вывод JSON: API.
Пожалуйста, сохраняйтев виду, я только начинаю смотреть на CRNK, и это просто приложение типа "привет мир", которое я тестирую с
Вот мой пример
package com.example.crnkdemo;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/test/v1.0")
public class Controller {
@GetMapping(value = "/{country}", produces = "application/vnd.api+json")
public Country test1(@PathVariable String country, @RequestParam(name = "filter[region]", required = false) String filter) {
return new Country(country, filter);
}
}
Страна - это просто фиктивный класс, который я создал:
package com.example.crnkdemo;
import io.crnk.core.resource.annotations.JsonApiId;
import io.crnk.core.resource.annotations.JsonApiResource;
@JsonApiResource(type = "country")
@AllArgsConstructor
@Data
public class Country {
@JsonApiId
private String country;
private String region;
Результаты
Но когда я использую следующий URL http://localhost:8080/test/v1.0/US?filter[region]=northeastЯ получаю
{
"country": "US",
"region":"northeast"
}
Я бы ожидал, что результат типа JSON API
{
"data": {
"type": "country",
"id": "US",
"attributes": {
"region": "northeast"
}
}
Спасибо!