Слияние кода завершено, страница обновится автоматически
<dependency>
<groupId>com.ipet</groupId>
<artifactId>quick-http</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
// Пакетное сканирование
@HttpComponentScan("com.ipet.test.rest.http")
@Configuration
@SpringBootApplication
public class ServiceExecutor {
public static void main(String[] args) throws InterruptedException, ExecutionException {
ConfigurableApplicationContext configurableApplicationContext = new SpringApplication(ServiceExecutor.class).run(args);
new CountDownLatch(1).await();
}
}
// HTTP-интерфейс объявлен
@HttpComponent
public interface HttpTestInterface {
// HTTP-запрос объявлен
@HttpRequest(value = "http://www.qq.com",header = @Header(key = "Content-Type",value = "text/html"))
String visitQQ();
}
@HttpComponent
public interface HttpTestInterface {
@HttpRequest("https://www.baidu.com")
String visitBaidu();
@HttpRequest(value = "https://www.baidu.com",method = HttpMethod.POST)
String postBaidu();
@HttpRequest(value = "https://www.baidu.com",method = HttpMethod.PUT)
String putBaidu();
@HttpRequest(value = "https://www.baidu.com", method = HttpMethod.DELETE)
String deleteBaidu();
@HttpRequest(value = "https://www.baidu.com", method = HttpMethod.HEAD)
String headBaidu();
@HttpRequest(value = "https://www.baidu.com", method = HttpMethod.OPTIONS)
String optionsBaidu();
}
@HttpComponent
public interface HttpTestInterface {
@HttpRequest(value="https://localhost",certification="/home/ssl/key.crt")
String visitBaidu();
}
@HttpComponent
public interface HttpTestInterface {
// Способ 1: непосредственно в аннотации @HttpRequest через @Header или @Headers установить фиксированный заголовок
@HttpRequest(value = "http://www.qq.com",header = @Header(key = "Content-Type",value = "text/html"))
String visitQQ();
// Способ 2: через параметры установить изменяемый заголовок
@HttpRequest("http://www.qq.com")
String visitQQ(@Header(key = "Content-Type") String contentType);
}
@HttpComponent
public interface HttpTestInterface {
@HttpRequest(value = "http://www.qq.com",charset="GB2312")
String visitQQ();
}
@HttpComponent
public interface HttpTestInterface {
@HttpRequest(url = "http://www.qq.com", bufferSize = 16 * 1024)
String visitQQ(@Header(key = "Content-Type") String contentType);
}
@HttpComponent
public interface HttpTestInterface {
@HttpRequest(url = "http://www.qq.com", bufferSize = 16 * 1024, preScript = BeforeRequestScript.class, afterScript = AfterRequestScript.class)
String visitQQ(@Header(key = "Content-Type") String contentType);
}
// Класс предварительной обработки BeforeRequestScript
public class BeforeRequestScript implements PreRequest {
@Override
public void setRequestMethodMetadata(RequestMethodMetadata requestMethodMetadata) {
//pass the request method metadata
}
@Override
public void doScript() {
//do your things...
}
}
//Класс последующей обработки AfterRequestScript
public class AfterRequestScript implements AfterRequest {
@Override
public void doScript() {
//do your things...
}
@Override
public <T> void setResponse(T response) {
//pass the response object
}
@Override
public void setRequestMethodMetadata(RequestMethodMetadata requestMethodMetadata) {
//pass the request method metadata
}
}
@HttpComponent
public interface HttpTestInterface {
// Нужно только установить возвращаемое значение как Future, чтобы автоматически определить асинхронный вызов
@HttpRequest("https://www.baidu.com")
Future<String> asyncVisitBaidu();
}
properties
@HttpComponent
public interface HttpTestInterface {
//http request 声明
@HttpRequest(value = "http://www.qq.com",header = @Header(key = "Content-Type",value = "text/html"))
String visitQQ();
}
@HttpComponent("http://www.qq.com") public interface HttpTestInterface {
//http request 申明
@HttpRequest(header = @Header(key = "Content-Type",value = "text/html"))
String visitQQ();
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )