คำถามติดแท็ก rest

REST (Representational State Transfer) เป็นรูปแบบของสถาปัตยกรรมซอฟต์แวร์สำหรับระบบไฮเปอร์มีเดียแบบกระจายเช่นเวิลด์ไวด์เว็บ มันได้รับความนิยมเพิ่มขึ้นเมื่อเทียบกับสถาปัตยกรรม RPC เช่น SOAP เนื่องจากการยกเลิกการเชื่อมต่อภายในไคลเอ็นต์จากเซิร์ฟเวอร์ที่มาจากการมีอินเตอร์เฟสที่สม่ำเสมอระหว่างระบบที่แตกต่างกัน

12
การออกแบบ URL สงบสำหรับการค้นหา
ฉันกำลังมองหาวิธีที่สมเหตุสมผลในการแสดงการค้นหาว่าเป็น URL ที่สงบเงียบ การตั้งค่า: ฉันมีสองรุ่นคือรถยนต์และโรงรถซึ่งรถยนต์สามารถอยู่ในโรงรถได้ ดังนั้น URL ของฉันดูเหมือน: /car/xxxx xxx == car id returns car with given id /garage/yyy yyy = garage id returns garage with given id รถยนต์สามารถมีอยู่ได้ด้วยตัวเอง (ดังนั้น / รถยนต์) หรือสามารถอยู่ในโรงรถได้ เป็นวิธีที่ถูกต้องในการเป็นตัวแทนพูดรถยนต์ทุกคันในโรงรถที่ให้ไว้คืออะไร? สิ่งที่ต้องการ: /garage/yyy/cars ? วิธีการเกี่ยวกับการรวมกันของรถยนต์ในโรงรถ yyy และ zzz? วิธีที่ถูกต้องในการแสดงการค้นหารถยนต์ที่มีคุณลักษณะบางอย่างคืออะไร พูดว่า: ให้ฉันดูซีดานสีน้ำเงินทั้งหมดด้วย 4 ประตู: /car/search?color=blue&type=sedan&doors=4 หรือว่าควรจะเป็น / รถยนต์แทน …
427 rest 

16
ผ่านอาร์เรย์ของจำนวนเต็มไปยัง ASP.NET Web API หรือไม่
ฉันมีบริการ REST ASP.NET Web API (รุ่น 4) ที่ฉันต้องผ่านอาร์เรย์ของจำนวนเต็ม นี่คือวิธีการกระทำของฉัน: public IEnumerable<Category> GetCategories(int[] categoryIds){ // code to retrieve categories from database } และนี่คือ URL ที่ฉันได้ลอง: /Categories?categoryids=1,2,3,4



6
REST API แนวปฏิบัติที่ดีที่สุด: วิธียอมรับรายการค่าพารามิเตอร์เป็นอินพุต [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา เรากำลังเปิดตัว REST API ใหม่และฉันต้องการให้ชุมชนป้อนข้อมูลเกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดเกี่ยวกับวิธีที่เราควรจัดรูปแบบพารามิเตอร์อินพุต: ตอนนี้ API ของเรานั้นมี JSON เป็นศูนย์กลางมาก (จะส่งคืน JSON เท่านั้น) การพิจารณาว่าเราต้องการ / จำเป็นต้องส่งคืน XML หรือไม่นั้นเป็นปัญหาแยกต่างหาก เนื่องจากเอาท์พุท API ของเราคือ JSON centric เราได้ลงเส้นทางที่อินพุตของเราเป็น JSON centric เล็กน้อยและฉันคิดว่ามันอาจจะสะดวกสำหรับบางคน แต่แปลกโดยทั่วไป ตัวอย่างเช่นเพื่อรับรายละเอียดผลิตภัณฑ์บางอย่างที่สามารถดึงผลิตภัณฑ์หลายรายการพร้อมกันในขณะนี้เรามี: http://our.api.com/Product?id=["101404","7267261"] เราควรทำให้สิ่งนี้ง่ายขึ้นเช่น: http://our.api.com/Product?id=101404,7267261 หรือมีการป้อนข้อมูล JSON มีประโยชน์หรือไม่ ปวดมากขึ้นไหม? เราอาจต้องการยอมรับทั้งสองสไตล์ แต่ความยืดหยุ่นนั้นจริงทำให้เกิดความสับสนมากขึ้นและปวดหัว (การบำรุงรักษาเอกสารประกอบ ฯลฯ )? กรณีที่ซับซ้อนมากขึ้นคือเมื่อเราต้องการเสนออินพุตที่ซับซ้อนมากขึ้น ตัวอย่างเช่นหากเราต้องการอนุญาตให้ใช้ตัวกรองหลายตัวในการค้นหา: http://our.api.com/Search?term=pumas&filters={"productType":["Clothing","Bags"],"color":["Black","Red"]} …
409 api  rest 

7
รหัสสถานะ HTTP ที่เหมาะสมในการส่งคืนโดยบริการ REST API สำหรับการตรวจสอบความล้มเหลวคืออะไร
ปัจจุบันฉันกลับ 401 ไม่ได้รับอนุญาตเมื่อใดก็ตามที่ฉันประสบความล้มเหลวในการตรวจสอบความถูกต้องในแอปพลิเคชัน RANG API ของDjango / Pistonของฉัน เมื่อดูที่HTTP Status Code Registry ฉันไม่มั่นใจว่านี่เป็นรหัสที่เหมาะสมสำหรับการตรวจสอบความล้มเหลวคุณควรแนะนำอะไร 400 คำขอไม่ถูกต้อง 401 ไม่ได้รับอนุญาต 403 ต้องห้าม ไม่อนุญาตให้ใช้วิธี 405 406 ไม่เป็นที่ยอมรับ 412 เงื่อนไขเบื้องต้นล้มเหลว 417 ความคาดหวังล้มเหลว 422 เอนทิตีที่ไม่สามารถประมวลผลได้ 424 การพึ่งพาล้มเหลว อัปเดต : "การตรวจสอบความล้มเหลว" ด้านบนหมายถึงความล้มเหลวในการตรวจสอบความถูกต้องของข้อมูลระดับแอปพลิเคชันเช่นวันที่และเวลาที่ระบุไม่ถูกต้องที่อยู่อีเมลปลอมเป็นต้น

28
SOAP หรือ REST สำหรับบริการบนเว็บ? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว REST เป็นวิธีที่ดีกว่าในการทำ Web Services หรือ SOAP หรือไม่? หรือพวกเขาเป็นเครื่องมือต่าง ๆ สำหรับปัญหาต่าง ๆ ? หรือมันเป็นปัญหาที่เหมาะสมยิ่ง - นั่นคือเป็นสิ่งหนึ่งที่ดีกว่าเล็กน้อยในบางสถานการณ์อื่น ๆ หรือไม่? ฉันจะขอขอบคุณข้อมูลเกี่ยวกับแนวคิดเหล่านั้นและความสัมพันธ์กับ PHP-universe และแอพพลิเคชั่นบนเว็บระดับสูงที่ทันสมัย
384 xml  web-services  rest  soap 

11
วิธีปฏิบัติที่ดีที่สุดในการส่งคืนข้อผิดพลาดใน ASP.NET Web API
ฉันมีความกังวลเกี่ยวกับวิธีที่เราส่งคืนข้อผิดพลาดไปยังลูกค้า เราจะส่งคืนข้อผิดพลาดทันทีโดยการขว้างHttpResponseExceptionเมื่อเราพบข้อผิดพลาด public void Post(Customer customer) { if (string.IsNullOrEmpty(customer.Name)) { throw new HttpResponseException("Customer Name cannot be empty", HttpStatusCode.BadRequest) } if (customer.Accounts.Count == 0) { throw new HttpResponseException("Customer does not have any account", HttpStatusCode.BadRequest) } } หรือเราสะสมข้อผิดพลาดทั้งหมดจากนั้นส่งกลับไปที่ลูกค้า: public void Post(Customer customer) { List<string> errors = new List<string>(); if (string.IsNullOrEmpty(customer.Name)) { errors.Add("Customer …
384 c#  rest  asp.net-web-api 

18
แยกเซิร์ฟเวอร์และไคลเอ็นต์ REST JSON API หรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ฉันกำลังจะสร้างแอปพลิเคชันบนเว็บเป็นจำนวนมากตั้งแต่เริ่มต้น (ดูhttp://50pop.com/codeเพื่อดูภาพรวม) ฉันต้องการให้พวกเขาสามารถเข้าถึงได้จากไคลเอนต์ที่แตกต่างกันมากมาย: เว็บไซต์ส่วนหน้าแอพสมาร์ทโฟนสมาร์ทโฟนบริการเว็บแบ็คเอนด์ ฯลฯ ดังนั้นฉันต้องการ JSON REST API สำหรับแต่ละรายการ นอกจากนี้ฉันชอบทำงานกับส่วนแบ็คเอนด์ดังนั้นฉันจึงฝันว่าฉันจะยังคงมุ่งเน้นไปที่ API และจ้างคนอื่นเพื่อสร้าง UI ส่วนหน้าไม่ว่าจะเป็นเว็บไซต์ iPhone, Android หรือแอปอื่น ๆ โปรดช่วยฉันตัดสินใจด้วยว่าฉันควรใช้วิธีใด: รวมกันในรถไฟ สร้างเว็บแอพ Rails ที่ได้มาตรฐานมาก ๆ ในคอนโทรลเลอร์ให้ทำสวิตช์ตอบกลับเพื่อให้บริการ JSON หรือ HTML การตอบสนอง JSON นั้นเป็น API ของฉัน Pro:แบบอย่างมากมาย มาตรฐานที่ยอดเยี่ยมและตัวอย่างมากมายในการทำสิ่งนี้ คอนดิชั่น:ไม่จำเป็นต้องให้ API เหมือนกับแอพเว็บ ไม่ชอบ if / then …

15
Spring MVC @PathVariable ที่มีจุด (.) กำลังถูกตัดทอน
นี่คือความต่อเนื่องของคำถาม Spring MVC @PathVariable ที่ถูกตัดทอน ฟอรัม Spring ระบุว่ามีการแก้ไข (เวอร์ชัน 3.2) เป็นส่วนหนึ่งของ ContentNegotiationManager ดูลิงค์ด้านล่าง https://jira.springsource.org/browse/SPR-6164 https://jira.springsource.org/browse/SPR-7632 ในแอปพลิเคชันของฉัน requestParameter ที่มี. com จะถูกปัดเศษ ใครช่วยอธิบายวิธีใช้คุณสมบัติใหม่นี้ให้ฉันได้บ้าง สามารถกำหนดค่าได้อย่างไรที่ xml หมายเหตุ: spring forum- # 1 Spring MVC @PathVariable ที่มีจุด (.) กำลังถูกตัดทอน

9
400 vs 422 การตอบสนองต่อ POST ของข้อมูล
ฉันกำลังพยายามหารหัสสถานะที่ถูกต้องที่จะกลับมาในสถานการณ์ที่แตกต่างด้วย API "คล้ายกับ REST" ที่ฉันกำลังทำงานอยู่ สมมติว่าฉันมีจุดสิ้นสุดที่อนุญาตให้มีการซื้อ POST ในรูปแบบ JSON ดูเหมือนว่านี้: { "account_number": 45645511, "upc": "00490000486", "price": 1.00, "tax": 0.08 } ฉันควรส่งคืนอะไรถ้าลูกค้าส่ง "sales_tax" ให้ฉัน (แทนที่จะเป็น "ภาษี" ที่คาดหวัง) ปัจจุบันฉันส่งคืน 400 แต่ฉันเริ่มตั้งคำถามกับตัวเอง ฉันควรจะส่งคืน 422 หรือไม่ ฉันหมายถึงมันคือ JSON (ซึ่งได้รับการสนับสนุน) และเป็น JSON ที่ถูกต้อง แต่มันไม่ได้มีฟิลด์ที่จำเป็นทั้งหมด

14
REST API แนวทางปฏิบัติที่ดีที่สุด: จะใส่พารามิเตอร์ได้ที่ไหน [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน5 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ REST API สามารถมีพารามิเตอร์อย่างน้อยสองวิธี: เป็นส่วนหนึ่งของเส้นทาง URL (เช่น/api/resource/parametervalue ) เป็นอาร์กิวเมนต์ของแบบสอบถาม (เช่น/api/resource?parameter=value ) การปฏิบัติที่ดีที่สุดที่นี่คืออะไร? มีแนวทางทั่วไปเมื่อใช้ 1 และเมื่อใช้ 2 หรือไม่ ตัวอย่างโลกแห่งความจริง: Twitter ใช้พารามิเตอร์ข้อความค้นหาเพื่อระบุช่วงเวลา ( http://api.twitter.com/1/statuses/home_timeline.json?since_id=12345&max_id=54321) มันจะถือว่าดีกว่าการออกแบบเพื่อวางพารามิเตอร์เหล่านี้ในเส้นทาง URL หรือไม่
348 api  rest  url 

8
รหัสข้อผิดพลาด HTTP 400 BAD ร้องขอหมายถึงอะไร
ฉันมีคำขอ JSON ที่ฉันโพสต์ไปยัง URL HTTP นี้ควรได้รับการปฏิบัติในฐานะ400ที่requestedResourceข้อมูลมีอยู่ แต่"Roman"เป็นค่าที่ไม่ถูกต้องสำหรับข้อมูลนี้? [{requestedResource:"Roman"}] นี้ควรได้รับการปฏิบัติในฐานะ400ที่"blah"สนามไม่ได้อยู่ที่ทั้งหมดหรือไม่ [{blah:"Roman"}]

15
ฉันจะโทรหา REST api โดยใช้ C # ได้อย่างไร
นี่คือรหัสที่ฉันมี: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System; using System.Net.Http; using System.Web; using System.Net; using System.IO; namespace ConsoleProgram { public class Class1 { private const string URL = "https://sub.domain.com/objects.json?api_key=123"; private const string DATA = @"{""object"":{""name"":""Name""}}"; static void Main(string[] args) { Class1.CreateObject(); } private static void CreateObject() { …
335 c#  api  rest 

21
รหัสตอบกลับ REST ที่เหมาะสมสำหรับคำขอที่ถูกต้อง แต่เป็นข้อมูลว่างเปล่าคืออะไร
ตัวอย่างเช่นคุณเรียกใช้คำขอ GET users/9แต่ไม่มีผู้ใช้ที่มี ID # 9 รหัสตอบกลับที่ดีที่สุดคืออะไร 200 ตกลง 202 ได้รับการยอมรับ 204 ไม่มีเนื้อหา 400 คำขอไม่ถูกต้อง ไม่พบ 404
332 rest  http  api-design 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.