Andserver เป็น HTTP และ Reverse Proxy Server
เว็บเซิร์ฟเวอร์และเฟรมเวิร์กเว็บของแพลตฟอร์ม Android มันมีคำอธิบายประกอบเช่น SpringMVC และหากคุณคุ้นเคยกับ SpringMVC คุณสามารถเชี่ยวชาญได้อย่างรวดเร็ว
ปรับใช้เว็บเซิร์ฟเวอร์:
Server server = AndServer . webServer ( context )
. port ( 8080 )
. timeout ( 10 , TimeUnit . SECONDS )
. build ();
// startup the server.
server . startup ();
...
// shutdown the server.
server . shutdown (); นอกจากนี้ยังมีคุณสมบัติบางอย่างเช่น inetAddress(InetAddress) , serverSocketFactory(ServerSocketFactory) และ sslContext(SSLContext) ขึ้นอยู่กับสิ่งที่คุณต้องการ
@ RestController
@ RequestMapping ( path = "/user" )
public class UserController {
@ PostMapping ( "/login" )
public String login ( @ RequestParam ( "account" ) String account ,
@ RequestParam ( "password" ) String password ) {
...
return "Successful." ;
}
@ GetMapping ( path = "/{userId}" )
public User info ( @ PathVariable ( "userId" ) String userId ,
@ QueryParam ( "fields" ) String fields ) {
User user = findUserById ( userId , fields );
...
return user ;
}
@ PutMapping ( path = "/{userId}" )
public void modify ( @ PathVariable ( "userId" ) String userId
@ RequestParam ( "age" ) int age ) {
...
}
}รหัสด้านบนจะสร้าง API HTTP สองตัวต่อไปนี้:
POST http://.../user/login
GET http://.../user/uid_001?fields=id,name,age
PUT http://.../user/uid_001
รับข้อมูลการเชื่อมต่อกับไคลเอนต์:
@ GetMapping ( path = "/connection" )
void getConnection ( HttpRequest request , ...) {
request . getLocalAddr (); // HostAddress
request . getLocalName (); // HostName
request . getLocalPort (); // server's port
request . getRemoteAddr (); // HostAddress
request . getRemoteHost (); // Especially HostName, second HostAddress
request . getRemotePort (); // client's port
...
}สำหรับเอกสารและข้อมูลเพิ่มเติมดูที่เว็บไซต์
ปรับใช้พร็อกซีเซิร์ฟเวอร์ย้อนกลับ:
Server server = AndServer . proxyServer ()
. addProxy ( "www.example1.com" , "http://192.167.1.11:8080" )
. addProxy ( "example2.com" , "https://192.167.1.12:9090" )
. addProxy ( "55.66.11.11" , "http://www.google.com" )
. addProxy ( "192.168.1.11" , "https://github.com:6666" )
. port ( 80 )
. timeout ( 10 , TimeUnit . SECONDS )
. build ();
// startup the server.
server . startup ();
...
// shutdown the server.
server . shutdown ();หมายเหตุ : มันเป็นเพียงพร็อกซีย้อนกลับและไม่มีความสามารถในการดูแลการโหลดสมดุล
เพิ่มปลั๊กอินลงในสคริปต์สร้างโครงการของคุณ:
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath ' com.yanzhenjie.andserver:plugin:2.1.12 '
.. .
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
.. . จากนั้นเพิ่มการพึ่งพา AndServer ของคุณ:
apply plugin : ' com.yanzhenjie.andserver '
.. .
dependencies {
implementation ' com.yanzhenjie.andserver:api:2.1.12 '
annotationProcessor ' com.yanzhenjie.andserver:processor:2.1.12 '
.. .
} หากคุณใช้ Kotlin ให้แทนที่ annotationProcessor ด้วย kapt
ก่อนที่จะส่งคำขอดึงผู้มีส่วนร่วมจะต้องปฏิบัติตามข้อตกลง
Copyright Zhenjie Yan
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.