Клиентское обнаружение метода Запроса HTTP

Обновление:

Начиная с v2.0 данных Spring, вы можете сделать это:

SampleOperation matchStage = Aggregation.sample(5);
Aggregation aggregation = Aggregation.newAggregation(sampleStage);
AggregationResults<OutType> output = mongoTemplate.aggregate(aggregation, "collectionName", OutType.class);

Оригинальный ответ:

Уровни абстракции как spring-mongo, всегда будут отставать от выпущенных функций сервера. Таким образом, вам лучше всего самостоятельно структурировать структуру документа BSON для этапа конвейера.

Реализовать в пользовательском классе:

public class CustomAggregationOperation implements AggregationOperation {
    private DBObject operation;

    public CustomAggregationOperation (DBObject operation) {
        this.operation = operation;
    }

    @Override
    public DBObject toDBObject(AggregationOperationContext context) {
        return context.getMappedObject(operation);
    }
}

И затем использовать в своем коде:

Aggregation aggregation = newAggregation(
    new CutomAggregationOperation(
        new BasicDBObject(
            "$sample",
            new BasicDBObject( "size", 15 )
        )
    )
);

Так как это реализует AggregationOperation, это хорошо работает с вспомогательными методами вывода операций. i.e:

Aggregation aggregation = newAggregation(
    // custom pipeline stage
    new CutomAggregationOperation(
        new BasicDBObject(
            "$sample",
            new BasicDBObject( "size", 15 )
        )
    ),
    // Standard match pipeline stage
    match(
        Criteria.where("myDate")
            .gte(new Date(new Long("949384052490")))
            .lte(new Date(new Long("1448257684431")))
    )
);

Итак, все это просто объект BSON в конце дня. Это всего лишь вопрос об использовании оболочки интерфейса, чтобы методы класса в Spring-Mongo интерпретировали результат и правильно определили ваш BSON-объект.

31
задан bignose 7 May 2009 в 07:44
поделиться

4 ответа

Одним словом - Никакой

30
ответ дан 27 November 2019 в 22:07
поделиться

Я не верю так. Если Вам нужна эта информация, я предлагаю включая a <meta> элемент генерировал на сервере, что можно свериться с JavaScript.

Например, с PHP:

<meta id="request-method" name="request-method" content="<?php echo htmlentities($_SERVER['REQUEST_METHOD']); ?>">
<script type="text/javascript">
    alert(document.getElementById("request-method").content);
</script>
18
ответ дан 27 November 2019 в 22:07
поделиться

Если Вы нуждаетесь в этой функциональности, имеете сервер, обнаруживают, какой метод использовался, и затем измените что-то в DOM, который можно затем считать позже.

7
ответ дан 27 November 2019 в 22:07
поделиться

Вы наклоняетесь, делают это для нормального отправляет/получает однако, можно добраться до этой информации, если Вы используете вызов xmlhttp и используете getResponseHeader

1
ответ дан 27 November 2019 в 22:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: