Web Developer

รีวิว RandomUser.me: Web API สุ่มสร้างข้อมูลผู้ใช้สะดวกดี

เรื่องที่เกี่ยวข้อง - Web API, Web Developer

วันก่อนโค้ชพลรีวิว Mockaroo เว็บแอพพลิเคชั่นสุ่มข้อมูลหลากหลายรูปแบบไปแล้ว ครั้งนี้มาสำหรับคนที่ต้องการสร้างเว็บแอพ โมบายล์แอพ และอยากหาข้อมูลแนว “ผู้ใช้” มาแสดงในแอพ โค้ชพลเอา Web API ตัวนี้มาฝาก

RandomUser.me:  Web API สุ่มข้อมูลผู้ใช้ง๊ายง่าย

UserRandomMe - User Photos.png

เนื่องจากการที่จะหาข้อมูลมาใช้กับแอพพลิเคชั่นเป็นความท้าทายของนักพัฒนาทุกคน โดยเฉพาะในขั้นตอนการพัฒนาช่วงต้นๆ เราอาจจะไม่สามารถหาข้อมูลจำนวนมากมาทดสอบได้

โดยเฉพาะข้อมูลของผู้ใช้ ในแอพพลิเคชั่นที่ทำงานกับการจัดการข้อมูลจำพวกนี้เป็นหลัก อย่างพวก Social Network หรือเกี่ยวกับ User Profile ต่างๆ

ซึ่งเหมือนๆ กับ Keith Armstrong และ Arron Hunt ทั้ง 2 คนได้ช่วยกันสร้าง Web API สำหรับสุ่มข้อมูลผู้ใช้จำนวนมากสำหรับ Client ที่ต้องการข้อมูลไปใช้งาน

โดยข้อมูลเหล่านี้มาจากเพื่อนๆ ของ Keith ในตอนแรก แต่ช่วงหลังๆ ก็ได้มีนักพัฒนาส่งข้อมูลเข้ามาร่วมโครงการนี้มากมายครับ

รีวิวการใช้งาน Web API

สำหรับ RandomUser.me เป็น Web API ที่รับส่งข้อมูลแบบ JSON และรองรับ GET Request แบบเดียว

ดังนั้นวิธีการส่ง Request  ไปขอข้อมูลผู้ใช้แบบสุ่มจาก Web API ก็สามารถทำได้ตามรูปแบบปกติทั่วไป เช่น

วิธีส่ง Request ใน Angular หรือ Ionic

$http.get('https://randomuser.me/api/')
    .success(function(result){
        // นำไปใช้งาน
    })

ศึกษาเรียนรู้เรื่อง Angular และ Ionic เพิ่มเติมได้ที่นี่

วิธีส่ง Request ใน Xamarin (C#.NET)

public async Task<IList<UserProfile>> GetUserAsync()
{
    var url  = new Uri ("", string.Empty);
    var response = await SendRequestAsync<UserProfile[]>( url, HttpMethod.Get, _headers);
    return response
}

ศึกษาเรียนรู้เรื่อง Xamarin เพิ่มเติมได้ที่นี่

รูปแบบข้อมูล และโครงสร้างของ JSON

โครงสร้างของ JSON ที่ส่งกลับมาจาก Web API ประกอบไปด้วยข้อมูลดังนี้ครับ

  • เพศ
  • คำนำหน้า, ชื่อ, นามสกุล
  • ที่อยู่
  • อีเมลล์
  • ข้อมูลบัญชีผู้ใช้งาน (เช่น Username และรหัสผ่าน)
  • เบอร์โทรศัพท์บ้าน และมือถือ
  • รูปภาพขนาดใหญ่, กลาง, และ Thumbnail
{
  "results": [
    {
      "gender": male",
      "name": {
        "title": mr",
        "first": samuel",
        "last": ross"
      },
      "location": {
        "street": 5592 pockrus page rd",
        "city": santa ana",
        "state": oregon",
        "postcode": 69974
      },
      "email": [email protected]",
      "login": {
        "username": silverwolf434",
        "password": blackjac",
        "salt": d14iEZQT",
        "md5": 261a57061d35918f5c3ef7f90f4f2a80",
        "sha1": c330ad8c974ab9982622d5d5506cfed4886a79ab",
        "sha256": 8ca4a1ca48975a69bd829de61298cd6a950dede740d4c0e755d07ee4cfc06fa5"
      },
      "registered": 1155461743,
      "dob": 1078494582,
      "phone": (179)-102-8139",
      "cell": (107)-396-0688",
      "id": {
        "name": SSN",
        "value": 476-30-9095"
      },
      "picture": {
        "large": https://randomuser.me/api/portraits/men/80.jpg",
        "medium": https://randomuser.me/api/portraits/med/men/80.jpg",
        "thumbnail": https://randomuser.me/api/portraits/thumb/men/80.jpg"
      },
      "nat": US"
    }
  ],
  "info": {
    "seed": 705567e86a824a27",
    "results": 1,
    "page": 1,
    "version": 1.0"
  }
}

วิธีปรับแต่งข้อมูลแบบต่างๆ

ซึ่งนอกจากการส่งข้อมูลแบบสุ่มปกติ เรายังสามารถปรับแต่งข้อมูลที่ส่งกลับมาหาเราได้ด้วย ผ่านรูปแบบของ Query String

กำหนด Format ของข้อมูล

นอกจาก JSON แล้ว เรายังสามารถเรียกข้อมูลในรูปแบบอื่นได้ดังนี้

  • pretty (PrettyJSON)
  • CSV
  • YAML
  • XML
http://api.randomuser.me/?format=xml

กำหนดจำนวนของข้อมูล

โดยปกติ Web API จะส่งข้อมูลกลับมาแต่ 1 คนเท่านั้น แต่ถ้าเราต้องการเราสามารถกำหนดจำนวนข้อมูลที่ส่งกลับมาได้ด้วย

// ส่งกลับมา 5,000 คน (โหดมาก)
http://api.randomuser.me/?results=5000

กำหนดประเภทของข้อมูลที่ต้องการ

ในกรณีที่เราไม่ต้องการข้อมูลจัดเต็มแบบที่เห็นด้านบน เราสามารถขอเฉพาะบางส่วนได้ โดยข้อมูลที่ขอสามารถกำหนดได้ด้วย โดยมีดังนี้

  • gender
  • name
  • location
  • email
  • login
  • registered
  • dob
  • phone
  • cell
  • id
  • picture
  • nat

เช่นถ้าเราต้องการเฉพาะ ชื่อ,  เบอร์โทรมือถือ, และรูปภาพ ก็สามารถใช้ URL ดังนี้

http://api.randomuser.me/?inc=name,phone,picture

หรือถ้าต้องการทั้งหมด แต่ไม่เอา ข้อมูลบัญชีผู้ใช้ก็คือ

http://api.randomuser.me/?exc=login

สรุปรีวิวการใช้ UserRandom.me

ความแตกต่างระหว่าง UserRandom.me กับ Mockaroo ในการสร้างข้อมูลจำลองนั้น ชัดเจนที่สุดคงเป็นที่ UserRandom.me นั้น เน้นข้อมูลของบุคคลเป็นหลัก ซึ่งสามารถเรียกใช้ได้ในทันที

แต่ Mockaroo จะต้องให้เราทำการแก้ไขโครงสร้างของข้อมูลก่อน แล้วถึงนำไปใช้งานกับ Client ที่เป็น Web App หรือ Mobile App ของเราได้ อีกอย่างคือเราไม่สามารถเรียกข้อมูลได้จาก Web API ตรงๆ แต่ต้องโหลดข้อมูลมาก่อนเท่านั้น

โดยรวมทั้ง 2 เจ้าสามารถสร้างข้อมูลจำลองจำนวนมากได้ในเวลาอันรวดเร็ว จึงทำให้ผมประหยัดเวลาได้มาก ในการนำข้อมูลมาทดลองกับ Mobile App ในช่วงทดสอบการทำงาน ทั้งที่สร้างจาก Ionic และ Xamarin

หวังว่าจะทำให้พวกเราประหยัดเวลาได้มากขึ้นอีกนะครับ

อ้างอิง – RandomUser.me

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

  • เข้าใจง่าย ใช้ได้จริง ออกแบบการสอนอย่างเข้าใจโดยโค้ชพล
  • มีคอร์สสำหรับคนใช้งานทั่วไป จนถึงเรียนรู้เพื่อใช้งานในสายอาชีพขั้นสูง
  • ทุกคอร์สมีใบประกาศณียบัตรรับรองหลังเรียนจบ

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save