В настоящее время в разработке есть приложение java spring. Он использует ui вместе с restful apis, которые отправляют/получают json через почтовые запросы.Java Spring rest return unauthorized json
Каждый запрос api должен быть подтвержден с помощью токена, который будет отправлен с запросом. Это действие завершено и возвращается логическое значение. Теперь проблема в том, когда логическое значение false (токен недействителен) Мне нужно вернуть ошибку 401 конечному пользователю. В настоящее время я возвращаю List, который преобразуется в json. Как я могу вернуть некоторую ошибку 401 конечному пользователю.
Пример
//done
@RequestMapping(value = "/getSomething"
, method = RequestMethod.POST
, consumes = "application/json"
, produces = "application/json")
@ResponseBody
public List<Obj> getSomething(@RequestBody Input f) {
DAOImpl dAOImpl = (MapDAOImpl) appContext.getBean("DAOImpl");
Boolean res = dAOImpl.validateToken(f.session);
if(res) {
List<Obj> response = dAOImpl.getSomething(f.ID);
return response;
} else {
return new ResponseEntity<String>("test", HttpStatus.UNAUTHORIZED);
}
}
Как правило, я просто выдавал исключение, аннотированное с помощью '@ ResponseStatus'. – chrylis
Вы всегда должны возвращать «ResponseEntity» - в первом случае вернуть ResponseEntity с телом - List и статус 200; во втором случае: либо вернуть ResponseEntity с пустым списком тела и статусом 401, либо исключить исключение, как предложено в предыдущем комментарии. –
hovanessyan