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

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

5
วิธีการตั้งค่าส่วนหัว“ ยอมรับ:” ในคำขอของ Spring RestTemplate
ฉันต้องการที่จะตั้งค่าของในการร้องขอผมทำใช้ของฤดูใบไม้ผลิAccept:RestTemplate นี่คือรหัสการจัดการคำขอสปริงของฉัน @RequestMapping( value= "/uom_matrix_save_or_edit", method = RequestMethod.POST, produces="application/json" ) public @ResponseBody ModelMap uomMatrixSaveOrEdit( ModelMap model, @RequestParam("parentId") String parentId ){ model.addAttribute("attributeValues",parentId); return model; } และนี่คือไคลเอนต์ Java REST ของฉัน: public void post(){ MultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>(); params.add("parentId", "parentId"); String result = rest.postForObject( url, params, String.class) ; System.out.println(result); } …

5
การสร้าง API สำหรับแอปพลิเคชันมือถือ - การรับรองความถูกต้องและการอนุญาต
ภาพรวม ฉันต้องการสร้าง API (REST) ​​สำหรับแอปพลิเคชันของฉัน วัตถุประสงค์เริ่มต้น / หลักจะใช้เพื่อการบริโภคโดยแอพมือถือ (iPhone, Android, Symbian และอื่น ๆ ) ฉันได้ดูกลไกที่แตกต่างกันสำหรับการรับรองความถูกต้องและการอนุญาตสำหรับ API บนเว็บ (โดยศึกษาการใช้งานอื่น ๆ ) ฉันมีหัวของฉันห่อหุ้มแนวคิดพื้นฐานส่วนใหญ่ แต่ฉันยังคงมองหาคำแนะนำในบางพื้นที่ สิ่งสุดท้ายที่ฉันต้องการทำคือสร้างวงล้อใหม่ แต่ฉันไม่พบวิธีแก้ปัญหามาตรฐานใด ๆ ที่เหมาะกับเกณฑ์ของฉัน (แต่เกณฑ์ของฉันถูกเข้าใจผิด นอกจากนี้ฉันต้องการให้ API เหมือนกันสำหรับทุกแพลตฟอร์ม / แอปพลิเคชันที่ใช้งาน oAuth ฉันจะไปข้างหน้าและคัดค้าน oAuth เนื่องจากฉันรู้ว่าน่าจะเป็นทางออกแรกที่เสนอ สำหรับแอปพลิเคชันมือถือ (หรือโดยเฉพาะที่ไม่ใช่เว็บแอปพลิเคชัน) ดูเหมือนว่าผิดที่จะออกจากแอปพลิเคชัน (ไปที่เว็บเบราว์เซอร์) สำหรับการตรวจสอบสิทธิ์ นอกจากนี้ไม่มีทาง (ฉันรู้) สำหรับเบราว์เซอร์ที่จะส่งกลับไปที่แอปพลิเคชัน (โดยเฉพาะข้ามแพลตฟอร์ม) ฉันรู้ว่ามีแอพสองตัวที่ทำเช่นนั้น แต่มันก็รู้สึกผิดและหยุดพักในแอปพลิเคชัน UX ความต้องการ ผู้ใช้ป้อนชื่อผู้ใช้ …

14
วิธีการโทร REST ระยะไกลภายใน Node.js? CURL ใด ๆ
ในNode.jsนอกเหนือจากการใช้กระบวนการลูกเพื่อทำการโทรCURLมีวิธีใดในการโทร CURL ไปยังเซิร์ฟเวอร์ระยะไกลREST API และรับข้อมูลส่งคืนหรือไม่ ฉันยังต้องตั้งค่าส่วนหัวคำขอไปยังการเรียกใช้RESTระยะไกลและสตริงข้อความค้นหาเช่นกันใน GET (หรือ POST) ฉันพบสิ่งนี้: http://blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs แต่จะไม่แสดงวิธีใด ๆ กับสตริงข้อความค้นหา POST
189 rest  curl  node.js 

26
วิธีเปิดใช้งาน CORS ใน ASP.net Core WebAPI
สิ่งที่ฉันพยายามทำ ฉันมี ASP.Net Core Web API แบ็กเอนด์ที่โฮสต์บน Azure Free Plan (ซอร์สโค้ด: https://github.com/killerrin/Portfolio-Backend ) ฉันมีเว็บไซต์ลูกค้าที่ฉันต้องการใช้ API นั้น แอปพลิเคชันไคลเอนต์จะไม่ถูกโฮสต์บน Azure แต่จะถูกโฮสต์บน Github Pages หรือบริการเว็บโฮสติ้งอื่นที่ฉันสามารถเข้าถึงได้ ด้วยเหตุนี้ชื่อโดเมนจะไม่ตรง เมื่อมองถึงสิ่งนี้ฉันต้องเปิดใช้งาน CORS ทางฝั่ง Web API แต่ฉันได้ลองทุกอย่างเป็นเวลาหลายชั่วโมงแล้วและปฏิเสธที่จะทำงาน ฉันมีการตั้งค่าไคลเอนต์ มันเป็นเพียงลูกค้าที่เรียบง่ายเขียนใน React.js ฉันกำลังเรียก API ผ่าน AJAX ใน Jquery ไซต์ React ใช้งานได้ดังนั้นฉันจึงไม่ทราบ การเรียก API ของ Jquery ทำงานได้ตามที่ฉันยืนยันในความพยายามที่ 1 นี่คือวิธีการโทร var apiUrl …

16
file_get_contents (): การดำเนินการ SSL ล้มเหลวด้วยรหัส 1, ไม่สามารถเปิดใช้งาน crypto
ฉันพยายามเข้าถึงบริการ REST นี้โดยเฉพาะจากหน้า PHP ที่ฉันสร้างขึ้นบนเซิร์ฟเวอร์ของเรา ฉันทำให้ปัญหาแคบลงเหลือสองบรรทัดนี้ ดังนั้นหน้า PHP ของฉันมีลักษณะเช่นนี้: <?php $response = file_get_contents("https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json"); echo $response; ?> หน้าจะตายในบรรทัดที่ 2 พร้อมข้อผิดพลาดต่อไปนี้: คำเตือน: file_get_contents (): การดำเนินการ SSL ล้มเหลวด้วยรหัส 1 OpenSSL ข้อความแสดงข้อผิดพลาด: ข้อผิดพลาด: 14090086: กิจวัตร SSL: SSL3_GET_SERVER_CERTIFICATE: การตรวจสอบใบรับรองล้มเหลวใน ... php on line 2 คำเตือน: file_get_contents (): ไม่สามารถเปิดใช้งานการเข้ารหัสลับใน ... php ในบรรทัดที่ 2 คำเตือน: file_get_contents ( …

9
ด้วย Spring ฉันสามารถสร้างตัวแปรพา ธ เสริมหรือไม่?
ด้วย Spring 3.0 ฉันสามารถมีตัวแปรพา ธ เสริมได้ไหม? ตัวอย่างเช่น @RequestMapping(value = "/json/{type}", method = RequestMethod.GET) public @ResponseBody TestBean testAjax( HttpServletRequest req, @PathVariable String type, @RequestParam("track") String track) { return new TestBean(); } ที่นี่ฉันต้องการ/json/abcหรือ/jsonจะเรียกวิธีการเดียวกัน วิธีแก้ปัญหาที่ชัดเจนหนึ่งประกาศtypeเป็นพารามิเตอร์คำขอ: @RequestMapping(value = "/json", method = RequestMethod.GET) public @ResponseBody TestBean testAjax( HttpServletRequest req, @RequestParam(value = "type", required = false) …
187 spring  rest 

10
วิธีที่เหมาะสมในการตั้งค่าสถานะการตอบสนองและเนื้อหา JSON ใน REST API ที่สร้างด้วย nodejs และ express
ฉันกำลังเล่นกับ Nodejs และแสดงโดยการสร้าง API พักผ่อนขนาดเล็ก คำถามของฉันคือวิธีปฏิบัติที่ดี / วิธีที่ดีที่สุดในการกำหนดสถานะโค้ดรวมถึงข้อมูลการตอบกลับคืออะไร ให้ฉันอธิบายด้วยรหัสเล็กน้อย (ฉันจะไม่ใส่โหนดและรหัสด่วนที่จำเป็นในการเริ่มต้นเซิร์ฟเวอร์เพียงวิธีเราเตอร์ที่เกี่ยวข้อง): router.get('/users/:id', function(req, res, next) { var user = users.getUserById(req.params.id); res.json(user); }); exports.getUserById = function(id) { for (var i = 0; i < users.length; i++) { if (users[i].id == id) return users[i]; } }; รหัสด้านล่างทำงานได้อย่างสมบูรณ์และเมื่อส่งคำขอกับบุรุษไปรษณีย์ฉันได้รับผลลัพธ์ดังต่อไปนี้: อย่างที่คุณเห็นสถานะแสดงเป็น 200 ซึ่งก็โอเค แต่นี่เป็นวิธีที่ดีที่สุดในการทำสิ่งนี้? มีกรณีที่ฉันควรจะต้องตั้งสถานะตัวเองเช่นเดียวกับ JSON …
187 node.js  rest  http  express 

9
“ 406- ตอบรับไม่ได้” ใน HTTP คืออะไร
ในแอปพลิเคชัน Ruby on Rails ของฉันฉันพยายามอัปโหลดรูปภาพผ่านไคลเอนต์POSTMAN RESTในรูปแบบBase64 เมื่อฉันโพสต์ภาพฉันได้รับการตอบสนอง 406 ที่ไม่สามารถยอมรับได้ เมื่อฉันตรวจสอบฐานข้อมูลภาพอยู่ที่นั่นและได้รับการบันทึกเรียบร้อยแล้ว สาเหตุของข้อผิดพลาดนี้มีอะไรที่ฉันต้องระบุในส่วนหัวของฉัน คำขอของฉัน: URL --- http://localhost:3000/exercises.json หัวข้อ: Content-Type - application/json ข้อมูลดิบ: { "exercise": { "subbodypart_ids": [ "1", "2" ], "name": "Exercise14" }, "image_file_name": "Pressurebar Above.jpg", "image":"******base64 Format*******" }

11
การรักษาความปลอดภัยบริการเว็บ: พักผ่อนมากกว่า HTTPS กับ SOAP + WS-Security ไหนดีกว่ากัน [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันไม่ได้เป็นผู้เชี่ยวชาญด้านความปลอดภัย แต่อย่างใดฉันชอบสร้างบริการเว็บ REST ในการสร้างบริการใหม่ที่จำเป็นต้องมีข้อมูลที่จะส่งผ่านความปลอดภัย เราได้ถกเถียงกันว่าแนวทางใดปลอดภัยกว่า - REST กับ HTTPS หรือ SOAP WS ด้วย WS-Security ฉันอยู่ภายใต้การแสดงผลที่เราสามารถใช้ HTTPS สำหรับการเรียกใช้บริการเว็บทั้งหมดและวิธีการนี้จะปลอดภัย วิธีที่ฉันดูคือ "ถ้า HTTPS ดีพอสำหรับเว็บไซต์ธนาคารและการเงินก็ดีพอสำหรับฉัน" อีกครั้งฉันไม่ใช่ผู้เชี่ยวชาญในพื้นที่นี้ แต่ฉันคิดว่าคนเหล่านี้คิดอย่างหนักเกี่ยวกับปัญหานี้และยินดีที่จะใช้ HTTPS ผู้ร่วมงานไม่เห็นด้วยและบอกว่า SOAP และ WS-Security เป็นวิธีเดียวที่จะไป เว็บดูเหมือนทั่วกระดานในเรื่องนี้ บางทีชุมชนที่นี่อาจชั่งน้ำหนักในข้อดีและข้อเสียของแต่ละคน? ขอบคุณ!

5
การรับรองความถูกต้อง REST API
ฉันกำลังสร้างแอปพลิเคชันซึ่งจะโฮสต์บนเซิร์ฟเวอร์ ฉันต้องการสร้าง API สำหรับแอปพลิเคชันเพื่อให้การโต้ตอบกับแพลตฟอร์มใด ๆ (Web App, Mobile App) สิ่งที่ฉันไม่เข้าใจคือเมื่อใช้ REST API เราจะรับรองความถูกต้องของผู้ใช้อย่างไร ตัวอย่างเช่นเมื่อผู้ใช้ล็อกอินแล้วต้องการสร้างหัวข้อฟอรัม ฉันจะรู้ได้อย่างไรว่าผู้ใช้ลงชื่อเข้าใช้แล้ว
181 api  rest 

3
รูปแบบการเข้าสู่ระบบ REST API
ฉันกำลังสร้าง REST api อย่างใกล้ชิดทำตามคำแนะนำของ apigee โดยใช้คำนามไม่ใช่คำกริยาเวอร์ชัน api ที่ถูกอบเข้าไปใน url สองเส้นทาง api ต่อการรวบรวม GET POST PUT DELETE การใช้งาน ฯลฯ ฉันกำลังทำงานกับระบบเข้าสู่ระบบ แต่ไม่แน่ใจในวิธีที่เหมาะสมในการเข้าสู่ระบบของผู้ใช้ ฉันไม่ได้ทำงานด้านความปลอดภัย ณ จุดนี้เพียงแค่รูปแบบการเข้าสู่ระบบหรือโฟลว์ (ต่อมาเราจะเพิ่ม oAuth 2 ขั้นตอนด้วย HMAC เป็นต้น) ตัวเลือกที่เป็นไปได้ โพสต์เพื่อบางสิ่งบางอย่างเช่น https://api...com/v1/login.json ใส่เพื่ออะไรเช่น https://api...com/v1/users.json บางสิ่งที่ฉันไม่ได้คิด ... สไตล์ REST ที่เหมาะสมสำหรับการเข้าสู่ระบบของผู้ใช้คืออะไร?

2
REST คอมเพล็กซ์ / ทรัพยากรรวม / ซ้อนกัน [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันพยายามล้อมรอบวิธีที่ดีที่สุดในการจัดการกับแนวคิดใน API ที่ใช้ REST แหล่งข้อมูลที่ไม่มีทรัพยากรอื่น ๆ ไม่มีปัญหา ที่ที่ฉันประสบปัญหาคือทรัพยากรที่ซับซ้อน ตัวอย่างเช่นฉันมีทรัพยากรสำหรับหนังสือการ์ตูน ComicBookมีทุกประเภทของคุณสมบัติที่มันชอบauthor, issue number, dateฯลฯ หนังสือการ์ตูนยังมีรายการ1..nปก สิ่งเหล่านี้เป็นวัตถุที่ซับซ้อน พวกเขามีข้อมูลมากมายเกี่ยวกับหน้าปก: ศิลปินวันที่และแม้แต่ภาพที่เข้ารหัสพื้นฐาน 64 ของหน้าปก สำหรับGETวันที่ComicBookฉันสามารถกลับการ์ตูนและครอบคลุมทั้งหมดรวมถึงภาพฐานของพวกเขา 64 นั่นอาจไม่ใช่เรื่องใหญ่สำหรับการสร้างการ์ตูนเรื่องเดียว แต่สมมติว่าฉันกำลังสร้างแอปไคลเอ็นต์ที่ต้องการแสดงรายการการ์ตูนทั้งหมดในระบบในตาราง ตารางจะมีคุณสมบัติบางอย่างจากComicBookทรัพยากร แต่แน่นอนว่าเราจะไม่ต้องการแสดงหน้าปกทั้งหมดในตาราง การส่งคืนหนังสือการ์ตูน 1,000 เล่มแต่ละเล่มที่มีหน้าปกหลายปกจะส่งผลให้ข้อมูลจำนวนมหาศาลหลั่งไหลเข้ามาในสายข้อมูลที่ไม่จำเป็นสำหรับผู้ใช้ปลายทางในกรณีนี้ สัญชาตญาณของฉันคือการสร้างCoverทรัพยากรและมีComicBookหน้าปก ดังนั้นตอนนี้Coverคือ URI GETในหนังสือการ์ตูนทำงานได้ตอนนี้แทนที่จะเป็นCoverแหล่งทรัพยากรขนาดใหญ่ที่เราส่ง URI กลับมาสำหรับแต่ละหน้าปกและลูกค้าสามารถดึงข้อมูลหน้าปกได้ตามต้องการ ตอนนี้ฉันมีปัญหากับการสร้างการ์ตูนใหม่ แน่นอนฉันจะต้องการสร้างอย่างน้อยหนึ่งครอบคลุมเมื่อฉันสร้างComicในความเป็นจริงที่อาจเป็นกฎธุรกิจ ดังนั้นตอนนี้ผมติดผมทั้งบังคับให้ลูกค้าในการบังคับใช้กฎเกณฑ์ทางธุรกิจครั้งแรกโดยส่งCover, รับ URI สำหรับปกที่แล้วPOSTไอเอ็นจีComicBookกับ URI ในรายการหรือของฉันPOSTในการComicBookใช้เวลาในทรัพยากรมองที่แตกต่างกันเกินกว่าที่จะถ่มน้ำลาย …

3
พารามิเตอร์เมทริกซ์ URL เทียบกับพารามิเตอร์การสืบค้น
ฉันสงสัยว่าจะใช้เมทริกซ์หรือพารามิเตอร์การสืบค้นใน URL ของฉันหรือไม่ ฉันพบการสนทนาที่เก่ากว่าในหัวข้อนั้นไม่พอใจ ตัวอย่าง URL ที่มีพารามิเตอร์การสืบค้น: http: //some.where/thing? paramA = 1 & paramB = 6542 URL ที่มีพาราเมตริกซ์: http: //some.where/thing; paramA = 1; paramB = 6542 ตั้งแต่แรกพบเมทริกซ์ params ดูเหมือนจะมีข้อได้เปรียบเท่านั้น: อ่านได้มากขึ้น ไม่จำเป็นต้องเข้ารหัสและถอดรหัส "&" ในเอกสาร XML URL ด้วย "?" ไม่ถูกแคชในหลายกรณี URL ที่มีพารามิเตอร์พาราเมทริกถูกแคช พารามิเตอร์เมทริกซ์สามารถปรากฏได้ทุกที่ในเส้นทางและไม่ จำกัด เฉพาะจุดสิ้นสุด พารามิเตอร์เมทริกซ์สามารถมีได้มากกว่าหนึ่งค่า: paramA=val1,val2 แต่ก็มีข้อเสีย: กรอบงานเพียงไม่กี่อย่างเช่นJAX-RSรองรับพารามิเตอร์เมทริกซ์ เมื่อเบราว์เซอร์ส่งแบบฟอร์มผ่าน GET พารามิเตอร์จะกลายเป็นพารามิเตอร์แบบสอบถาม …
176 http  url  rest  parameters  jax-rs 

6
ถือว่าเป็นการใช้งาน HTTP POST โดยไม่ต้องมีเอนทิตีหรือไม่
ฉันต้องเรียกใช้กระบวนการที่ไม่ต้องการข้อมูลใด ๆ จากผู้ใช้เพียงเป็นตัวกระตุ้น ฉันวางแผนที่จะใช้ POST / uri โดยไม่มีร่างกายเพื่อกระตุ้นกระบวนการ ฉันต้องการทราบว่าสิ่งนี้ถือว่าไม่ดีทั้งในมุมมอง HTTP และ REST หรือไม่
176 http  rest  post 

10
การจัดการข้อยกเว้นบริการ Spring Boot REST
ฉันกำลังพยายามตั้งค่าเซิร์ฟเวอร์บริการ REST ขนาดใหญ่ เรากำลังใช้ Spring Boot 1.2.1 Spring 4.1.5 และ Java 8 ตัวควบคุมของเรากำลังใช้งาน @RestController และคำอธิบายประกอบ @RequestMapping มาตรฐาน ปัญหาของฉันที่ฤดูใบไม้ผลิ Boot /errorตั้งค่าการเปลี่ยนเส้นทางเริ่มต้นสำหรับข้อยกเว้นในการควบคุม จากเอกสาร: Spring Boot จัดให้มีการแมป / ข้อผิดพลาดตามค่าเริ่มต้นที่จัดการข้อผิดพลาดทั้งหมดอย่างสมเหตุสมผลและมีการลงทะเบียนเป็นหน้าข้อผิดพลาด 'สากล' ในคอนเทนเนอร์ servlet มาจากหลายปีที่เขียนแอปพลิเคชัน REST ด้วย Node.js นี่คือสิ่งที่สมเหตุสมผล ข้อยกเว้นใด ๆ ที่จุดปลายบริการสร้างขึ้นควรกลับมาในการตอบกลับ ฉันไม่สามารถเข้าใจได้ว่าทำไมคุณถึงส่งการเปลี่ยนเส้นทางไปยังผู้ใช้ Angular หรือ JQuery SPA ซึ่งน่าจะเป็นคำตอบเท่านั้นและไม่สามารถหรือไม่ดำเนินการใด ๆ ในการเปลี่ยนเส้นทาง สิ่งที่ฉันต้องการจะทำคือการตั้งค่าตัวจัดการข้อผิดพลาดทั่วโลกที่สามารถยกเว้น - อย่างใดอย่างหนึ่งโยนออกมาจากวิธีการทำแผนที่การร้องขอหรือสร้างขึ้นโดยอัตโนมัติโดยฤดูใบไม้ผลิ (404 ถ้าไม่พบวิธีจัดการสำหรับลายเซ็นเส้นทางขอ) …

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