ការព្យាយាមឡើងវិញនៃការផ្ទៀងផ្ទាត់តាមប្រូកស៊ី និងតួឯកសារផ្ទុកឡើងដែលមិនអាចធ្វើម្តងទៀតបាន
ស្វែងយល់ពីមូលហេតុដែលការព្យាយាមផ្ទៀងផ្ទាត់ឡើងវិញអាចបង្ហាញលំហូរផ្ទុកឡើងតែម្តង ហើយជ្រើសរើសដោយចេតនានូវបញ្ជីសំរាប់រក្សាទុកមានកំណត់ ឬខ្លឹមសារដែលអាចធ្វើម្តងទៀតបាន។
GET អាចផ្ទៀងផ្ទាត់តាមប្រូកស៊ី ខណៈពេល POST ឬ PUT បរាជ័យដោយកំហុសតួឯកសារដែលមិនអាចធ្វើម្តងទៀត ឬការរមូរត្រឡប់។ គណនីអាចត្រឹមត្រូវ៖ ការផ្លាស់ប្តូរការផ្ទៀងផ្ទាត់អាចត្រូវការសំណើមួយទៀតបន្ទាប់ពីអតិថិជនបានប្រើប្រាស់ការផ្ទុកឡើងរួចហើយ។
| ប្រភពតួឯកសារ | ជម្រើសធ្វើឡើងវិញ |
|---|---|
| តួឯកសារតូចមានកំណត់ | បញ្ជីសំរាប់រក្សាទុកមានកំណត់អាចរក្សាបៃរបស់វា។ |
| ឯកសារដែលអាចស្វែងរក | ចំណុចប្រទាក់រមូរត្រឡប់ដែលអតិថិជនគាំទ្រអាចធ្វើឱ្យវាអាចធ្វើម្តងទៀតបាន។ |
| ម៉ាស៊ីនបង្កើត បំពង់ ឬអ្នកផលិតផ្ទាល់ | ប្រភពតែម្តងអាចត្រូវការការរចនាផ្សេង។ |
libcurl ចារឹក callback ស្វែងរកសម្រាប់ការប្រើប្រាស់រួមទាំងការផ្ទៀងផ្ទាត់ច្រើនដំណាក់កាល។ Jersey ផ្តល់ជូនរបៀបដំណើរការអង្គភាពបែបសំរាប់រក្សាទុក និងបែងចែក អាស្រ័យលើឥរិយាបថរបស់ឧបករណ៍ភ្ជាប់។ ឧទាហរណ៍ ឧបករណ៍ភ្ជាប់ Jersey 2 Apache បង្ហាញការកំណត់បែបសំរាប់រក្សាទុក។ ទាំងពីរមិនធ្វើឱ្យការផ្ទុកឡើងក្នុងអង្គចងចាំគ្មានកំណត់សមស្របឡើយ។
បង្កើតឡើងវិញនូវវិធី និងប្រភពតួឯកសារដែលបរាជ័យ។ GET ត្រៀមមិនមានការផ្ទុកឡើងដើម្បីធ្វើម្តងទៀតទេ ហើយវាមិនបញ្ជាក់ថាការផ្ទុកឡើងក្រោយមកចែករំលែកការតភ្ជាប់ ឬស្ថានភាពផ្ទៀងផ្ទាត់របស់វាទេ។ គោលដៅ វត្ថុអតិថិជន ឬគោលនយោបាយតភ្ជាប់ថ្មីអាចផ្លាស់ប្តូរវា។ តួឯកសារដែលមានមូលដ្ឋានលើឯកសារ និងលំហូរផ្ទាល់ក៏ខុសគ្នាដែរ ទោះបីជាអត្ថបទគំរូរបស់ពួកវាដូចគ្នាក៏ដោយ។
ប្រសិនបើអ្នករក្សាទុក សូមកំណត់ដែនកំណត់ទំហំ ទីតាំងផ្ទុក និងអាយុកាលរបស់វា។ ការផ្ទុកឡើងក្នុងពេលតែមួយបង្កើនថ្លៃដើមច្រើនដង ហើយទិន្នន័យរសើបនៅតែមាននៅកន្លែងដែលរក្សាទុក។
ការផ្ទៀងផ្ទាត់ជាមុនទៅកាន់ប្រូកស៊ីដែលគាំទ្រដែលគេស្គាល់ អាចជៀសវាងការប្រកួតប្រជែងដំបូងមួយ។ វាមិនអាចដកចេញគ្រប់ជុំផ្ទៀងផ្ទាត់ ការបង្វិលទិស ឬការតភ្ជាប់បិទនៅពេលក្រោយដែលអាចត្រូវការការព្យាយាមមួយទៀតបានទេ។
រក្សាការឆ្លើយតបរបស់ប្រូកស៊ី ចំណុចប្រើប្រាស់តួឯកសារ និងកំហុសធ្វើឡើងវិញជាមួយគ្នា។ បន្ទាប់មកបែងចែកការធ្វើឡើងវិញនៃពិធីការពីលទ្ធផលកម្មវិធីដែលមិនច្បាស់លាស់៖ ការដាក់ស្នើអាចត្រូវបានដំណើរការមុនពេលការឆ្លើយតបរបស់វាបាត់បង់។ អនុវត្តតាមច្បាប់ idempotency របស់គោលដៅមុនពេលផ្ញើវាម្តងទៀត។