Здравствуйте.
Пытаюсь сделать свой первый REST API сервис.
Читая документацию, пытаюсь получить список всех сущностей определённого тип.
Добавил пользователю созданную роль(текст ниже)
public class SomeEntityRESTAccessRole extends AnnotatedRoleDefinition {
public final static String NAME = “SomeEntityRESTAccessRole”;
@EntityAccess(entityClass = SomeEntity.class, operations = {EntityOp.READ})
@Override
public EntityPermissionsContainer entityPermissions() {
return super.entityPermissions();
}
@EntityAttributeAccess(entityClass = SomeEntity.class, view = "*")
@Override
public EntityAttributePermissionsContainer entityAttributePermissions() {
return super.entityAttributePermissions();
}
@SpecificAccess(permissions = {"cuba.restApi.enabled"})
@Override
public SpecificPermissionsContainer specificPermissions() {
return super.specificPermissions();
}
}
Создал rest-queries.xml, указал его в web-app.properties. Добавил в этот файл JPQL запрос без параметров, указал нужный View.
Обращаюсь к REST API моего приложения через curl. Отправляю запрос на авторизацию, получаю в ответ токен.
При попытке получения данных сущностей столкнулся с двумя проблемами
-
При попытке получить записи через настроенный View получаю JSON с идентификаторами, но без каких-либо других полей(пример запроса ниже).
curl -X GET
‘http://localhost:8080/app/rest/v2/queries/app_SomeEntity/myQuery’
-H ‘Authorization: Bearer mscJNveYU9fBFnErkVMNNJ-Skjk’ -
При попытке обратиться к сущности через запрос All получаю ошибку unauthorized.
Подскажите, пожалуйста, в чём может быть дело?