Я хочу создать перехватчик, который берет данные из входящего запроса и отправляет пользовательский запрос в базовую базу данных, возвращая результат этого запроса пользователю. Я не могу понять, как вернуть результаты пользовательского запроса пользователю.
Вот пример, который я пробовал, но документ ответа, который я создал и установил в плагине, не возвращается пользователю.
Можно ли это сделать с помощью MongoInterceptor?
@RegisterPlugin(name = "exampleInterceptor",
description = "example interceptor",
interceptPoint = InterceptPoint.REQUEST_AFTER_AUTH,
priority = 100)
public class ExampleInterceptor implements MongoInterceptor {
@Override
public void handle(MongoRequest request, MongoResponse response)
throws Exception
{
String dbName = request.getDBName();
String collName = request.getCollectionName();
String[] pathInfo = request.getMappedRequestUri().split("/");
if (pathInfo.length == 3) {
String id = pathInfo[2];
BsonDocument doc = new BsonDocument();
doc.put("db", new BsonString(dbName));
doc.put("collection", new BsonString(collName));
doc.put("id", new BsonString(id));
response.setContent(doc);
}
}
@Override
public boolean resolve(MongoRequest request, MongoResponse response) {
return true;
}
}