ขณะนี้ฉันกำลังออกแบบและใช้งาน RESTful API ใน PHP อย่างไรก็ตามฉันไม่ประสบความสำเร็จในการนำการออกแบบเริ่มต้นไปใช้
GET /users # list of users
GET /user/1 # get user with id 1
POST /user # create new user
PUT /user/1 # modify user with id 1
DELETE /user/1 # delete user with id 1
จนถึงมาตรฐานสวยใช่มั้ย
GET /users
ปัญหาของฉันกับคนแรก ฉันกำลังพิจารณาส่งพารามิเตอร์ในคำขอร่างกายเพื่อกรองรายการ นี่เป็นเพราะฉันต้องการที่จะสามารถระบุตัวกรองที่ซับซ้อนโดยไม่ต้องมี URL ที่ยาวมากเช่น:
GET /users?parameter1=value1¶meter2=value2¶meter3=value3¶meter4=value4
แต่ฉันต้องการที่จะมีสิ่งที่ชอบ:
GET /users
# Request body:
{
"parameter1": "value1",
"parameter2": "value2",
"parameter3": "value3",
"parameter4": "value4"
}
ซึ่งสามารถอ่านได้มากขึ้นและช่วยให้คุณตั้งค่าตัวกรองที่ซับซ้อนได้
อย่างไรก็ตามfile_get_contents('php://input')
ไม่ได้ส่งคำขอคืนGET
คำขอ ฉันลองhttp_get_request_body()
แล้ว แต่โฮสติ้งที่ใช้ร่วมกันที่ฉันใช้ไม่มีpecl_http
อยู่ ไม่แน่ใจว่ามันจะช่วยได้หรือไม่
ฉันพบคำถามนี้และตระหนักว่า GET อาจไม่ได้มีเนื้อหาที่ร้องขอ มันค่อนข้างจะไม่สามารถสรุปได้ แต่พวกเขาแนะนำกับมัน
ดังนั้นตอนนี้ฉันไม่แน่ใจว่าจะทำอย่างไร คุณออกแบบฟังก์ชั่นการค้นหา / กรอง RESTful ได้อย่างไร
ฉันคิดว่าฉันสามารถใช้งานPOST
ได้ แต่นั่นก็ดูไม่สงบมากนัก