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

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

9
การส่งโทเค็นผู้ถือด้วย axios
ในแอปตอบกลับของฉันฉันใช้axiosเพื่อดำเนินการร้องขอ REST api แต่ไม่สามารถส่งส่วนหัวการให้สิทธิ์พร้อมคำขอได้ นี่คือรหัสของฉัน: tokenPayload() { let config = { headers: { 'Authorization': 'Bearer ' + validToken() } } Axios.post( 'http://localhost:8000/api/v1/get_token_payloads', config ) .then( ( response ) => { console.log( response ) } ) .catch() } นี่คือvalidToken()วิธีการก็จะกลับมาจากการจัดเก็บโทเค็นเบราว์เซอร์ คำขอทั้งหมดมีการตอบสนองข้อผิดพลาด 500 รายการโดยแจ้งว่า ไม่สามารถแยกวิเคราะห์โทเค็นจากคำขอได้ จากด้านหลัง จะส่งส่วนหัวการให้สิทธิ์กับแต่ละคำขอได้อย่างไร คุณจะแนะนำโมดูลอื่น ๆ ที่มีปฏิกิริยาหรือไม่?

18
วิธีตั้งค่า url ฐานสำหรับการพักในสปริงบูต?
ฉันกำลังพยายามผสม mvc และพักในโครงการสปริงบูตเดียว ฉันต้องการกำหนดเส้นทางฐานสำหรับตัวควบคุมส่วนที่เหลือทั้งหมด (เช่น example.com/api) ในที่เดียว (ฉันไม่ต้องการใส่คำอธิบายประกอบแต่ละตัวควบคุมด้วย@RequestMapping('api/products')เพียงแค่@RequestMapping('/products'). ตัวควบคุม Mvc ควรเข้าถึงได้โดย example.com/whatever เป็นไปได้ไหม? (ฉันไม่ใช้สปริงข้อมูลเหลือแค่สปริง mvc)

6
ผ่อนคลายในการเล่น! กรอบ
เรากำลังวางแผนโครงการที่ให้บริการเนื้อหาไปยังแอปบนอุปกรณ์เคลื่อนที่เป็นหลัก แต่จำเป็นต้องมีเว็บไซต์ คำถามของฉันคือเหมาะสมหรือไม่ที่จะใช้ Jersey หรือ Restlet เพื่อพัฒนา REST API สำหรับแอปมือถือของเราจากนั้นใช้ Play! เพื่อให้บริการเว็บไซต์ หรือมันสมเหตุสมผลกว่าที่จะใช้ Play! จะทำทั้งหมด? ถ้าเป็นเช่นนั้นวิธีทำ REST ด้วย Play! กรอบ?

2
Spring 4 vs Jersey สำหรับบริการเว็บ REST
เรากำลังวางแผนที่จะสร้างแอปพลิเคชันใหม่ด้วยเวอร์ชันฤดูใบไม้ผลิ 4.0.6 เราใช้ตัวควบคุมที่สามารถส่งคืน "XML" หรือ "JSON" ในโครงการก่อนหน้านี้เราประสบความสำเร็จในการใช้ Jersey กับ Spring for REST โดยใช้ JAX-RS API แต่หลังจากอ่านบทความและคำแนะนำจากผู้อาวุโสแล้วพวกเขากล่าวว่าฤดูใบไม้ผลิให้การสนับสนุน REST ที่ค่อนข้างดี บางประเด็นที่ทำให้ฉันสับสนจริงๆถ้าฉันใช้การสนับสนุน Spring REST โดยไม่ใช้ JAX-RS และ Jersey ได้แก่ : การจัดระเบียบและการไม่เข้าใจผิดใน Spring MVC เป็นอย่างไร จำเป็นไหมสำหรับการมาร์แชลหรือ unmarshaling จำเป็นต้องใช้ jax-rs หากมีการจัดการมาร์แชลและ unmarshaling โดยอัตโนมัติในฤดูใบไม้ผลิจะรู้ได้อย่างไรเกี่ยวกับ xmlRootElements ฉันยังงงอยู่ว่า Spring พิสูจน์การสนับสนุน REST ได้ดีมากแล้วทำไมคนยังไปกับ Jersey for REST? ต้องการทราบรายละเอียดเพิ่มเติมจริงๆ หากฉันพูดอะไรผิดโปรดเพิกเฉย คำอธิบายพร้อมตัวอย่างมีประโยชน์มาก …

9
ไลบรารีไคลเอ็นต์ JavaScript REST [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ มีห้องสมุด JavaScript ที่ช่วยให้ผมที่จะดำเนินการทั้งหมดดำเนินการส่วนที่เหลือเช่น ( GET, POST, PUTและDELETEมากกว่าHTTPหรือHTTPS)?
117 javascript  jquery  rest 

9
ลองใช้ API แบบ จำกัด อัตราของเราเอง
ข้อมูลทั่วไป: บริษัท ของฉันได้พัฒนา API แบบ จำกัด อัตรา เป้าหมายของเราคือสองเท่า: ตอบ: สร้างระบบนิเวศของนักพัฒนาที่แข็งแกร่งรอบ ๆ ผลิตภัณฑ์ของเรา B: แสดงให้เห็นถึงพลังของ API ของเราโดยใช้เพื่อขับเคลื่อนแอปพลิเคชันของเราเอง คำชี้แจง: ทำไมต้อง จำกัด อัตราเลย? เราให้คะแนน API ของเรา จำกัด เนื่องจากเราขายเป็นส่วนเสริมให้กับผลิตภัณฑ์ของเรา การเข้าถึง API ของเราแบบไม่ระบุตัวตนมีเกณฑ์ต่ำมากสำหรับการเรียก API ต่อชั่วโมงในขณะที่ลูกค้าแบบชำระเงินของเราได้รับอนุญาตให้โทรได้มากกว่า 1,000 ครั้งต่อชั่วโมงขึ้นไป ปัญหา: API แบบ จำกัด อัตราของเรานั้นยอดเยี่ยมสำหรับอีโคซิสเต็มของนักพัฒนา แต่เพื่อให้เราลองใช้เราไม่สามารถอนุญาตให้ จำกัด การ จำกัด อัตราเดียวกันได้ ส่วนหน้าของ API ของเราคือ JavaScript ทั้งหมดทำการเรียก Ajax โดยตรงไปยัง API …
117 javascript  api  rest 

9
บริการเว็บ RESTful - จะตรวจสอบสิทธิ์คำขอจากบริการอื่นได้อย่างไร?
ฉันกำลังออกแบบบริการเว็บ RESTful ที่ผู้ใช้ต้องเข้าถึง แต่ยังรวมถึงบริการเว็บและแอปพลิเคชันอื่น ๆ ด้วย คำขอที่เข้ามาทั้งหมดจะต้องได้รับการตรวจสอบสิทธิ์ การสื่อสารทั้งหมดเกิดขึ้นผ่าน HTTPS การรับรองความถูกต้องของผู้ใช้จะทำงานตามโทเค็นการตรวจสอบความถูกต้องซึ่งได้มาจากการโพสต์ชื่อผู้ใช้และรหัสผ่าน (ผ่านการเชื่อมต่อ SSL) ไปยังทรัพยากร/ เซสชันที่ให้บริการโดยบริการ ในกรณีของไคลเอ็นต์บริการบนเว็บไม่มีผู้ใช้ปลายทางอยู่เบื้องหลังบริการไคลเอ็นต์ การร้องขอจะเริ่มต้นโดยงานตามกำหนดการเหตุการณ์หรือการทำงานของคอมพิวเตอร์อื่น ๆ รายชื่อบริการเชื่อมต่อเป็นที่รู้จักล่วงหน้า (แน่นอนฉันเดา) ฉันจะตรวจสอบสิทธิ์คำขอเหล่านี้ที่มาจากบริการอื่น ๆ (เว็บ) ได้อย่างไร? ฉันต้องการให้ขั้นตอนการตรวจสอบสิทธิ์ง่ายที่สุดในการนำไปใช้กับบริการเหล่านั้น แต่ไม่ต้องเสียค่าใช้จ่ายด้านความปลอดภัย อะไรคือมาตรฐานและแนวทางปฏิบัติที่ดีที่สุดสำหรับสถานการณ์เช่นนี้ ตัวเลือกที่ฉันคิดได้ (หรือได้รับการแนะนำให้ฉัน): ให้บริการไคลเอ็นต์หันมาใช้ชื่อผู้ใช้และรหัสผ่าน "ปลอม" และตรวจสอบสิทธิ์ในลักษณะเดียวกับผู้ใช้ ฉันไม่ชอบตัวเลือกนี้ - มันไม่ถูกต้อง กำหนดรหัสแอปพลิเคชันถาวรสำหรับบริการไคลเอ็นต์ซึ่งอาจเป็นรหัสแอปพลิเคชันด้วย เท่าที่ฉันเข้าใจนี่ก็เหมือนกับการมี username + password ด้วยรหัสและรหัสนี้ฉันสามารถตรวจสอบสิทธิ์แต่ละคำขอหรือสร้างโทเค็นการตรวจสอบสิทธิ์เพื่อพิสูจน์ตัวตนคำขอเพิ่มเติม ไม่ว่าจะด้วยวิธีใดฉันไม่ชอบตัวเลือกนี้เพราะใครก็ตามที่ได้รับรหัสแอปพลิเคชันและคีย์สามารถแอบอ้างเป็นลูกค้าได้ ฉันสามารถเพิ่มการตรวจสอบที่อยู่ IP ในตัวเลือกก่อนหน้าได้ ซึ่งจะทำให้คำขอปลอมทำได้ยากขึ้น ใบรับรองไคลเอ็นต์ ตั้งค่าผู้ออกใบรับรองของฉันเองสร้างใบรับรองหลักและสร้างใบรับรองไคลเอ็นต์สำหรับบริการไคลเอ็นต์ แม้ว่าจะมีปัญหาสองประการดังนี้ก) ฉันจะยังอนุญาตให้ผู้ใช้ตรวจสอบสิทธิ์โดยไม่มีใบรับรองได้อย่างไรและ b) …

2
“ render: nothing => true” ส่งคืนไฟล์ข้อความธรรมดาที่ว่างเปล่า?
ฉันใช้ Rails 2.3.3 และฉันต้องการสร้างลิงค์เพื่อส่งคำขอโพสต์ ฉันมีอันที่มีลักษณะดังนี้: = link_to('Resend Email', {:controller => 'account', :action => 'resend_confirm_email'}, {:method => :post} ) ซึ่งทำให้พฤติกรรม JavaScript ที่เหมาะสมบนลิงก์: <a href="/account/resend_confirm_email" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href; var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', 'EL9GYgLL6kdT/eIAzBritmB2OVZEXGRytPv3lcCdGhs='); f.appendChild(s); f.submit(); return …

3
ฉันสามารถรวมทั้ง SignalR และ RESTful API ได้หรือไม่
ฉันมีเว็บแอปหน้าเดียวที่พัฒนาโดยใช้ ASP.NET ฉันเพิ่งแปลงวิธีการบนเว็บจำนวนมากให้เป็นแบบพุชโดยใช้ไลบรารีSignalR สิ่งนี้ทำให้หน้าเว็บเร็วขึ้นอย่างมากและลดการเรียกเซิร์ฟเวอร์จำนวนมากจากหน้าเว็บ ในเวลาเดียวกันฉันยังได้ดู RESTful ASP.NET WebAPI สำหรับวิธีการฝั่งเซิร์ฟเวอร์ด้วยความสวยงามที่แท้จริงคืออนุญาตให้สร้าง API สำหรับแอปพลิเคชันภายนอกในเวลาเดียวกันกับที่ฉันพัฒนา แอปพลิเคชันหลัก (ซึ่งจะมีความสำคัญสำหรับสิ่งที่ฉันทำ) ดูเหมือนว่าอย่างไรหลังจากที่กำลังมองหาที่หลายบทความและเหล่านี้ สองคำถามที่ผลักดันและ WebAPI วิธีดูเหมือนสองกระบวนทัศน์ที่แตกต่างกันอย่างสิ้นเชิงสำหรับการสื่อสารลูกค้าเซิร์ฟเวอร์ ฉันแน่ใจว่าฉันสามารถสร้างวิธีการต่างๆที่สามารถเข้าถึงได้ผ่านโปรโตคอลใดก็ได้ แต่ฉันไม่แน่ใจว่ามีข้อผิดพลาดเกิดขึ้นหรือไม่หรือถือว่าเป็นเรื่องที่เลอะเทอะ - อาจมีวิธีที่หรูหรากว่าในการบรรลุสิ่งที่ฉันตั้งเป้าไว้ สำหรับ. มีหลายสถานการณ์ที่ฉันต้องการให้ RESTful WebAPI ออกอากาศเหตุการณ์ผ่านฮับ SignalR ... ตรงกันข้าม (SignalR เคยต้องการเข้าถึง WebAPI) ดูเหมือนจะมีโอกาสน้อยกว่า แต่ฉันคิดว่ายังคงเป็นไปได้ มีใครทำแบบนี้บ้าง? ใครมีคำแนะนำหรือเคล็ดลับในการดำเนินการ อะไรคือหนทางที่สง่างามที่สุดที่นี่?

4
รหัสสถานะ HTTP สำหรับคำขอที่ประสบความสำเร็จบางส่วน
ฉันมีแอปพลิเคชันที่ส่งข้อความถึงผู้ใช้ ในคำขอโพสต์จะมีการถ่ายโอนสตริง XML ซึ่งประกอบด้วยผู้ใช้ทั้งหมดที่ควรได้รับข้อความนั้น หากไม่มีผู้ใช้รายใดในรายชื่อฉันให้รายชื่อผู้ใช้ที่หายไปกลับไปยังไคลเอ็นต์เพื่อการประเมินต่อไป ตอนนี้ฉันกำลังถามตัวเองว่ารหัสสถานะที่เหมาะสมสำหรับแอปพลิเคชันจะเป็นอย่างไรโดยบอกว่าคำขอได้รับการยอมรับ แต่มีบางสิ่งที่ไม่สามารถทำได้ ปัญหานี้จะหลีกเลี่ยงได้หากไม่ได้รับอนุญาตให้รวมผู้ใช้ที่ขาดหายไปในรายการ จากนั้นความพยายามในการส่งจะได้รับข้อผิดพลาด 4xx แต่ไม่มีประเด็นในการสร้าง API ด้วยวิธีนี้ ในทางกลับกันฉันสามารถพิจารณาเงื่อนไขข้อผิดพลาดเป็นเฉพาะแอปพลิเคชันเท่านั้น แต่ส่งแค่ 200 ไม่ถนัด และจะเป็นการดีที่จะให้คำแนะนำแก่ลูกค้าว่าเมื่อใดควรพิจารณาการตอบสนองข้อผิดพลาดอย่างลึกซึ้ง เช่นหลีกเลี่ยงการส่งข้อความถึงผู้ใช้นั้นซ้ำแล้วซ้ำเล่า

7
ไคลเอนต์ Android REST ตัวอย่าง?
แม้ว่าเธรดนี้จะยอมรับคำตอบแล้วก็ตามอย่าลังเลที่จะเสนอแนวคิดอื่น ๆ ที่คุณใช้หรือชอบ ฉันได้พบกับบทความเหล่านี้: บริการ Restful API Java REST client API สำหรับ Android และนั่นนำฉันไปสู่วิดีโอ Google I / O 2010 เกี่ยวกับแอปพลิเคชันไคลเอนต์ REST http://www.youtube.com/watch?v=xHXn3Kg2IQE&feature=player_embedded ตั้งแต่ตอนนี้ฉันได้สร้างส่วนประกอบ REST เป็นส่วนประกอบแบบคงที่ในคลาสตัวควบคุมแอปพลิเคชันของฉัน จากนี้ฉันคิดว่าฉันควรเปลี่ยนรูปแบบ ใครบางคนชี้ให้เห็นว่าแอปพลิเคชันGoogle IOSchedเป็นตัวอย่างที่ดีในการเขียนไคลเอนต์ REST บน Android มีคนบอกว่าวิธีนี้ซับซ้อนเกินไป แล้วใครช่วยแสดงให้เราเห็นว่าแนวทางปฏิบัติที่ดีที่สุดคืออะไร? ในวิธีที่สั้นและเรียบง่าย แอปพลิเคชัน IOSched ซับซ้อนเกินไปสำหรับกรณีการใช้งานตัวอย่าง
115 java  android  api  rest 

7
การตรวจสอบสิทธิ์พื้นฐาน HTTP และผู้ถือโทเค็น
ฉันกำลังพัฒนา REST-API ซึ่ง HTTP-Basic ได้รับการป้องกันสำหรับสภาพแวดล้อมการพัฒนา เนื่องจากการตรวจสอบความถูกต้องจริงผ่านโทเค็นฉันยังคงพยายามหาวิธีส่งส่วนหัวการอนุญาตสองรายการ ฉันได้ลองสิ่งนี้แล้ว: curl -i http://dev.myapp.com/api/users \ -H "Authorization: Basic Ym9zY236Ym9zY28=" \ -H "Authorization: Bearer mytoken123" ตัวอย่างเช่นฉันสามารถปิดใช้งาน HTTP-Authentication สำหรับ IP ของฉันได้ แต่เนื่องจากโดยปกติแล้วฉันจะทำงานในสภาพแวดล้อมที่แตกต่างกันด้วยไดนามิก IPs นี่ไม่ใช่ทางออกที่ดี ฉันขาดอะไรไปหรือเปล่า?

9
การพิสูจน์ตัวตนโทเค็นสำหรับ RESTful API: ควรเปลี่ยนโทเค็นเป็นระยะหรือไม่
ฉันสร้างสงบ API กับ Django และDjango ส่วนที่เหลือกรอบ ในฐานะกลไกการพิสูจน์ตัวตนเราได้เลือก "Token Authentication" และฉันได้นำไปใช้แล้วตามเอกสารของ Django-REST-Framework คำถามคือแอปพลิเคชันควรต่ออายุ / เปลี่ยน Token เป็นระยะ ๆ หรือไม่และถ้าใช่ต้องทำอย่างไร มันควรจะเป็นแอพมือถือที่ต้องต่ออายุโทเค็นหรือเว็บแอพควรทำแบบอัตโนมัติ? การปฏิบัติที่ดีที่สุดคืออะไร? ใครมีประสบการณ์กับ Django REST Framework และสามารถแนะนำวิธีแก้ปัญหาทางเทคนิคได้บ้าง? (คำถามสุดท้ายมีลำดับความสำคัญต่ำกว่า)

9
ความแตกต่างของบริการเว็บระหว่าง REST และ RPC
ฉันมีบริการเว็บที่ยอมรับพารามิเตอร์ JSON และมี URL เฉพาะสำหรับวิธีการเช่น: http://IP:PORT/API/getAllData?p={JSON} นี่ไม่ใช่ REST อย่างแน่นอนเนื่องจากไม่ใช่คนไร้สัญชาติ ต้องคำนึงถึงคุกกี้และมีเซสชันของตัวเอง มันเป็น RPC หรือไม่? RPC และ REST ต่างกันอย่างไร
114 web-services  rest  rpc 

5
RESTclient Add-on ของ Firefox - จะป้อนพารามิเตอร์ POST ได้อย่างไร?
ฉันได้ติดตั้งโปรแกรมเสริม Firefox RESTclient แล้ว แต่ฉันมีปัญหาในการหาวิธีส่งผ่านพารามิเตอร์ POST มีรูปแบบเฉพาะสำหรับทำสิ่งนี้หรือไม่? หรือมีเครื่องมืออื่นใดที่สามารถใช้ในการดีบัก REST API บน Mac OS X ได้หรือไม่
112 rest  post  firefox-addon 

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