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

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

11
การคืนข้อมูลจากการโทรแบบ async ในฟังก์ชัน Swift
ฉันได้สร้างคลาสยูทิลิตี้ในโครงการ Swift ของฉันที่จัดการคำขอ REST และการตอบกลับทั้งหมด ฉันได้สร้าง REST API อย่างง่ายเพื่อให้ฉันสามารถทดสอบโค้ดของฉันได้ ฉันได้สร้างเมธอดคลาสที่ต้องการส่งคืน NSArray แต่เนื่องจากการเรียก API เป็นแบบ async ฉันต้องส่งคืนจากเมธอดภายในการเรียก async ปัญหาคือ async คืนค่าเป็นโมฆะ ถ้าฉันทำสิ่งนี้ใน Node ฉันจะใช้สัญญา JS แต่ฉันไม่สามารถหาวิธีแก้ปัญหาที่ใช้ได้กับ Swift import Foundation class Bookshop { class func getGenres() -> NSArray { println("Hello inside getGenres") let urlPath = "http://creative.coventry.ac.uk/~bookshop/v1.1/index.php/genre/list" println(urlPath) let url: NSURL = NSURL(string: …
93 ios  rest  asynchronous  swift 

7
ฉันจะดูระยะเวลาของวิดีโอด้วย YouTube API เวอร์ชัน 3 ได้อย่างไร
ฉันใช้ YouTube API v3 เพื่อค้นหา YouTube https://developers.google.com/youtube/v3/docs/search อย่างที่คุณเห็น JSON ตอบกลับไม่มีระยะเวลาของวิดีโอ มีวิธีรับระยะเวลาของวิดีโอหรือไม่? ไม่ควรเรียก API สำหรับแต่ละองค์ประกอบในผลลัพธ์อีกครั้ง (เว้นแต่เป็นวิธีเดียวที่จะได้รับระยะเวลา)

1
ความแตกต่างระหว่าง websockets และการสำรวจระยะยาวสำหรับเซิร์ฟเวอร์เกมแบบเทิร์นเบส
ฉันกำลังเขียนเซิร์ฟเวอร์สำหรับเกม iOS เกมจะเปิดตามและครั้งเดียวที่เซิร์ฟเวอร์ต้องการส่งข้อมูลไปยังไคลเอนต์คือการแจ้งการเคลื่อนไหวของฝ่ายตรงข้าม ฉันอยากรู้ว่ามีใครสามารถแสดงความคิดเห็นเกี่ยวกับประสิทธิภาพและความสะดวกในการใช้งานที่แตกต่างระหว่างการใช้ websockets และการสำรวจความคิดเห็นแบบยาว นอกจากนี้หากฉันใช้เว็บซ็อกเก็ตฉันควรใช้เพื่อรับข้อมูลและส่งคำขอ POST สำหรับสิ่งอื่น ๆ เท่านั้นหรือการสื่อสารทั้งหมดควรผ่าน websocket? นอกจากนี้มีอะไรเพิ่มเติมที่ต้องพิจารณาระหว่าง websockets และการสำรวจระยะยาวหากฉันสนใจที่จะสร้างเว็บไคลเอ็นต์ด้วย

6
ฉันจะรักษาความปลอดภัยการเรียก REST API ได้อย่างไร
ฉันกำลังพัฒนาเว็บแอปพักผ่อนที่ใช้กรอบเว็บยอดนิยมในแบ็กเอนด์พูด (ราง, ซินาตร้า, กระติกน้ำ, express.js) ตามหลักการแล้วฉันต้องการพัฒนาฝั่งไคลเอ็นต์ด้วย Backbone.js ฉันจะให้เฉพาะฝั่งไคลเอ็นต์ JavaScript ของฉันโต้ตอบกับการเรียก API เหล่านั้นได้อย่างไร ฉันไม่ต้องการให้การเรียก API เหล่านั้นเป็นสาธารณะและถูกเรียกโดยcurlหรือเพียงแค่ป้อนลิงก์บนเบราว์เซอร์

3
REST API DESIGN - รับทรัพยากรผ่าน REST ที่มีพารามิเตอร์ต่างกัน แต่มีรูปแบบ URL เดียวกัน
ฉันมีคำถามเกี่ยวกับการออกแบบ REST url ฉันพบโพสต์ที่เกี่ยวข้องบางส่วนที่นี่: การนำเสนอRESTful ที่แตกต่างกันของทรัพยากรเดียวกันและที่นี่: RESTful url to GET resource ตามช่องต่างๆแต่คำตอบยังไม่ชัดเจนว่าแนวทางปฏิบัติที่ดีที่สุดคืออะไรและเพราะเหตุใด นี่คือตัวอย่าง ฉันมี URL REST สำหรับแสดงทรัพยากร "ผู้ใช้" ฉันสามารถรับผู้ใช้ด้วยรหัสหรือที่อยู่อีเมลได้ แต่การแสดง URL ยังคงเหมือนเดิมสำหรับทั้งสองอย่าง ผ่านบล็อกและหนังสือมากมายฉันเห็นว่าผู้คนทำสิ่งนี้ในรูปแบบต่างๆมากมาย ตัวอย่างเช่น อ่านแบบฝึกหัดนี้ในหนังสือและที่ไหนสักแห่งใน stackoverflow (ดูเหมือนจะหาลิงค์ไม่เจออีกแล้ว) GET /users/id={id} GET /users/email={email} อ่านแบบฝึกหัดนี้ในบล็อกจำนวนมาก GET /users/{id} GET /users/email/{email} โดยปกติพารามิเตอร์การสืบค้นจะใช้สำหรับการกรองผลลัพธ์ของทรัพยากรที่แสดงโดย url แต่ฉันได้เห็นวิธีปฏิบัตินี้เช่นกัน GET /users?id={id} GET /users?email={email} คำถามของฉันคือจากแนวทางปฏิบัติทั้งหมดนี้ข้อใดเหมาะสมที่สุดสำหรับนักพัฒนาที่ใช้ apis และเพราะเหตุใด ฉันเชื่อว่าไม่มีกฎใด ๆ ที่กำหนดไว้ในเรื่องการออกแบบ REST …

3
คำอธิบายประกอบ Spring @ResponseBody ทำงานอย่างไร
ฉันมีวิธีการที่มีคำอธิบายประกอบดังต่อไปนี้: /** * Provide a list of all accounts. */ // TODO 02: Complete this method. Add annotations to respond // to GET /accounts and return a List<Account> to be converted. // Save your work and restart the server. You should get JSON results when accessing // http://localhost:8080/rest-ws/app/accounts @RequestMapping(value="/orders", method=RequestMethod.GET) …
91 java  json  spring  rest  spring-mvc 

14
ไม่สามารถสร้าง Call Adapter สำหรับตัวอย่างคลาสได้ง่าย
ฉันใช้ชุดติดตั้งเพิ่ม 2.0.0-beta1 กับ SimpleXml ฉันต้องการดึงทรัพยากรแบบง่าย (XML) จากบริการ REST Marshalling / Unmarshalling the Simple object ด้วย SimpleXML ทำงานได้ดี เมื่อใช้รหัสนี้ (แปลงรูปแบบก่อน 2.0.0 โค้ด): final Retrofit rest = new Retrofit.Builder() .addConverterFactory(SimpleXmlConverterFactory.create()) .baseUrl(endpoint) .build(); SimpleService service = rest.create(SimpleService.class); LOG.info(service.getSimple("572642")); บริการ: public interface SimpleService { @GET("/simple/{id}") Simple getSimple(@Path("id") String id); } ฉันได้รับข้อยกเว้นนี้: Exception in thread …

8
วิธีทดสอบ REST API โดยใช้ส่วนขยาย "Advanced Rest Client" ของ Chrome
ปฏิบัติตามคำแนะนำที่ลิงค์ด้านล่างที่ผมประสบความสำเร็จในการสร้าง REST API สำหรับแอพลิเคชัน Django ฉัน: http://django-rest-framework.org/tutorial/quickstart ฉันสามารถทดสอบได้โดยทำสิ่งต่อไปนี้จากพรอมต์ Unix: curl -H 'Accept: application/json; indent=4' -u root:myPassword http://www.myWebsite.com/users/ มันได้ผล :) อย่างไรก็ตามฉันต้องการใช้ส่วนขยายของ Chrome Advanced Rest Client เพื่อทดสอบการทำงานเดียวกันนี้ ฉันได้ติดตั้งส่วนขยายแล้ว แต่ฉันไม่รู้ว่าจะใส่ฟิลด์ไหน / อย่างไร เมื่อฉันเดาแบบมีการศึกษา (ดังที่คุณเห็นในภาพหน้าจอ) มันปฏิเสธโดยบอกว่า "ไม่ได้ระบุข้อมูลรับรองการตรวจสอบสิทธิ์" ฉันควรระบุพารามิเตอร์ของฉันให้กับ REST API อย่างไร / ที่ไหน

1
REST - HTTP Post Multipart พร้อม JSON
ฉันต้องการรับ HTTP Post Multipart ซึ่งมีเพียง 2 พารามิเตอร์: สตริง JSON ไฟล์ไบนารี วิธีตั้งศพที่ถูกต้องคือข้อใด? ฉันกำลังจะทดสอบการเรียก HTTP โดยใช้คอนโซล Chrome REST ดังนั้นฉันจึงสงสัยว่าวิธีแก้ปัญหาที่ถูกต้องคือการตั้งค่าคีย์ "label" สำหรับพารามิเตอร์ JSON และไฟล์ไบนารีหรือไม่ ในฝั่งเซิร์ฟเวอร์ฉันใช้ Resteasy 2.x และฉันจะอ่านเนื้อหา Multipart ดังนี้: @POST @Consumes("multipart/form-data") public String postWithPhoto(MultipartFormDataInput multiPart) { Map <String, List<InputPart>> params = multiPart.getFormDataMap(); String myJson = params.get("myJsonName").get(0).getBodyAsString(); InputPart imagePart = params.get("photo").get(0); //do whatever …
89 java  json  rest  http  resteasy 

7
ความแตกต่างระหว่าง servlet และบริการเว็บ
2 ตัวนี้ต่างกันอย่างไร? ฉันพบผลลัพธ์บางอย่างใน Google โดยไม่มีข้อสรุป คำถามติดตามผลมีดังนี้ สมมติว่าฉันสร้างแอปเว็บสปริง mvc ใส่คำอธิบายประกอบสองชั้นด้วยคำอธิบายประกอบ @Controller และสร้างสิ่งที่จะถ่ายโอนข้อมูลบางส่วนจากส่วนหน้า -> ส่วนหลังและในทางกลับกันได้สำเร็จและบางทีฐานข้อมูลบางส่วนอาจเกี่ยวข้องกับด้านหลัง คุณจะเรียกมันว่าอะไร? พักบริการเว็บหรือ servlet หรืออย่างอื่น?

5
REST สามารถส่งคืนเนื้อหาหลังจาก POST ได้หรือไม่
ฉันใช้ RESTlet และฉันได้สร้างทรัพยากร ฉันจัดการ POST ด้วยacceptRepresentationวิธีการลบล้าง ไคลเอนต์ควรส่งข้อมูลบางส่วนให้ฉันจากนั้นฉันเก็บไว้ที่ DB ตั้งค่าการตอบสนองเป็น 201 (SUCCESS_CREATED) และฉันต้องการส่งคืนข้อมูลบางส่วนให้กับไคลเอนต์ แต่ส่งคืนประเภทของ acceptRepresentationvoidคือ ในกรณีของฉันฉันต้องส่งคืนตัวระบุบางตัวเพื่อให้ลูกค้าสามารถเข้าถึงทรัพยากรนั้นได้ ตัวอย่างเช่นถ้าผมมีทรัพยากรที่มี URL /resourceและลูกค้าส่งคำขอ POST /resource/{id}ฉันเพิ่มแถวใหม่ในฐานข้อมูลและที่อยู่ของมันควรจะเป็น ฉันต้องการส่ง{id}ฉันต้องการที่จะส่ง ฉันทำอะไรผิดหรือเปล่า? หลักการ REST อนุญาตให้ส่งคืนบางสิ่งหลังจาก POST หรือไม่ ถ้าใช่ฉันจะทำอย่างไรและถ้าไม่มีวิธีจัดการกับสถานการณ์นี้คืออะไร?
89 java  rest  restlet 

7
ฉันจะส่งคืนรหัสสถานะ HTTP ที่กำหนดเองจากวิธี WCF REST ได้อย่างไร
หากมีสิ่งผิดปกติเกิดขึ้นในการเรียก WCF REST เช่นไม่พบทรัพยากรที่ร้องขอฉันจะเล่นกับรหัสตอบกลับ HTTP ได้อย่างไร (ตั้งค่าเป็น HTTP 404 เป็นต้น) ในเมธอด OperationContract ของฉัน
88 c#  .net  wcf  rest 

5
จะเข้าถึงบริการจาก RESTful API ในหน้า angularjs ของฉันได้อย่างไร
ฉันยังใหม่กับ angularJS มาก ฉันกำลังค้นหาการเข้าถึงบริการจาก RESTful API แต่ฉันไม่ได้รับความคิดใด ๆ ฉันจะทำเช่นนั้นได้อย่างไร?

3
วิธีการรักษาความปลอดภัยบริการเว็บ RESTful?
ฉันมีการดำเนินการรักษาความปลอดภัยบริการเว็บสงบ ฉันได้หาข้อมูลโดยใช้ Google แล้ว แต่ฉันติดขัด ตัวเลือก: TLS (HTTPS) + HTTP พื้นฐาน (pc1oad1etter) HTTP Digest OAuth สองทาง แนวทางที่อิงตามคุกกี้ ใบรับรองลูกค้า (Tom Ritter และที่นี่ ) คำขอที่ลงชื่อโดยใช้HMACและอายุการใช้งานที่ จำกัด มีตัวเลือกอื่น ๆ ที่เป็นไปได้ให้พิจารณาหรือไม่? ถ้า OAuth แล้วรุ่นอะไร มันสำคัญหรือไม่? จากสิ่งที่ผมได้อ่านเพื่อให้ห่างไกลOAuth 2.0พร้อมด้วยสัญญาณถือ (ที่ไม่มีลายเซ็น) ดูเหมือนว่าจะไม่ปลอดภัย ฉันได้พบบทความที่น่าสนใจอีกมากในการตรวจสอบส่วนที่เหลือตาม รักษาความปลอดภัย REST API ของคุณ ... วิธีที่ถูกต้อง

6
จะสร้างโมเดล RESTful API ด้วยการสืบทอดได้อย่างไร
ฉันมีลำดับชั้นของออบเจ็กต์ที่ต้องแสดงผ่าน RESTful API และฉันไม่แน่ใจว่า URL ของฉันควรมีโครงสร้างอย่างไรและควรส่งคืนอะไร ฉันไม่พบแนวทางปฏิบัติที่ดีที่สุด สมมติว่าฉันมีสุนัขและแมวที่สืบทอดมาจากสัตว์ ฉันต้องการการผ่าตัด CRUD กับสุนัขและแมว ฉันยังต้องการที่จะดำเนินการกับสัตว์โดยทั่วไป ความคิดแรกของฉันคือการทำสิ่งนี้: GET /animals # get all animals POST /animals # create a dog or cat GET /animals/123 # get animal 123 สิ่งนี้คือตอนนี้คอลเลกชัน / สัตว์ "ไม่สอดคล้องกัน" เนื่องจากสามารถส่งคืนและรับวัตถุที่ไม่มีโครงสร้างเหมือนกัน (สุนัขและแมว) ถือว่า "RESTful" มีคอลเล็กชันที่ส่งคืนอ็อบเจ็กต์ที่มีแอตทริบิวต์ต่างกันหรือไม่ อีกวิธีหนึ่งคือการสร้าง URL สำหรับคอนกรีตแต่ละประเภทดังนี้: GET /dogs # get all …

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