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

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

16
CORS พร้อมสปริงบูตและเชิงมุม js ไม่ทำงาน
ฉันพยายามเรียกจุดสิ้นสุด REST บนแอปพลิเคชันหนึ่ง (แอปพลิเคชันสปริงบูต) จากอีกแอปพลิเคชัน (angularjs) แอปพลิเคชันกำลังทำงานบนโฮสต์และพอร์ตต่อไปนี้ แอปพลิเคชัน REST โดยใช้สปริงบูต http://localhost:8080 แอปพลิเคชัน HTML โดยใช้ angularjs http://localhost:50029 ฉันกำลังใช้spring-securityกับแอปพลิเคชันสปริงบูตด้วย จากแอปพลิเคชัน HTML ฉันสามารถตรวจสอบสิทธิ์กับแอปพลิเคชัน REST ได้ แต่หลังจากนั้นฉันก็ยังไม่สามารถเข้าถึงปลายทาง REST ใด ๆ ตัวอย่างเช่นฉันมีบริการ angularjs ที่กำหนดไว้ดังนี้ adminServices.factory('AdminService', ['$resource', '$http', 'conf', function($resource, $http, conf) { var s = {}; s.isAdminLoggedIn = function(data) { return $http({ method: 'GET', url: …

8
WCF Data Services (OData) กับ ASP.NET Web API
ฉันกำลังออกแบบแอปพลิเคชันแบบกระจายซึ่งจะประกอบด้วยบริการ RESTful และไคลเอนต์ที่หลากหลาย (Silverlight, iOS, Windows Phone 7 ฯลฯ ) ตอนนี้ฉันกำลังพิจารณาว่าควรใช้เทคโนโลยีใดในการปรับใช้บริการของฉัน WCF Data Services (OData) หรือ ASP.NET Web API ใหม่ที่ออกมาพร้อมกับ ASP.NET MVC 4 ฉันได้ดูงานนำเสนอทางออนไลน์เกี่ยวกับแต่ละเรื่องและตอนนี้ฉันเอนเอียงไปที่ WCF Data Services เป็นหลักเนื่องจากกลไกการกรองที่สร้างขึ้นใน URI และความสามารถของไฮเปอร์มีเดีย ข้อเสียอย่างเดียวที่ฉันเห็นคือความละเอียดถี่ถ้วนของข้อกำหนด Atom Pub ซึ่งตรงข้ามกับ POX มีอะไรบ้างที่ฉันควรรู้เกี่ยวกับเทคโนโลยีทั้งสองนี้ก่อนตัดสินใจ? ทำไมบางคนถึงเลือก ASP.NET Web API ผ่าน WCF Data Services?

1
Async POST ล้มเหลวใน WP7 และ F #
เมื่อฉันทำlet! read = from.AsyncRead bufใน F # มันจะบล็อกและไม่กลับมาจนกว่าซ็อกเก็ต TCP จะตาย ทำไม? และฉันจะแก้ไขได้อย่างไร? รหัส: module StreamUtil open System.IO /// copy from 'from' stream to 'toStream' let (|>>) (from : Stream) (toStream : Stream) = let buf = Array.zeroCreate<byte> 1024 let rec doBlock () = async { let! read = from.AsyncRead buf …

3
REST API สำหรับเว็บไซต์ที่ใช้ Facebook ในการตรวจสอบสิทธิ์
เรามีเว็บไซต์ที่วิธีเดียวในการเข้าสู่ระบบและรับรองความถูกต้องของตัวเองด้วยเว็บไซต์คือ Facebook (นี่ไม่ใช่ทางเลือกของฉัน) ในครั้งแรกที่คุณเข้าสู่ระบบด้วย Facebook บัญชีจะถูกสร้างขึ้นโดยอัตโนมัติสำหรับคุณ ตอนนี้เราต้องการสร้างแอปพลิเคชัน iPhone สำหรับไซต์ของเราและยังมี API สาธารณะสำหรับให้ผู้อื่นใช้บริการของเรา คำถามนี้เกี่ยวกับวิธีการตรวจสอบสิทธิ์กับเว็บไซต์ของเราจากแอป / API และแบ่งออกเป็น 2 ส่วน: อะไรคือวิธีที่ถูกต้องในการจัดการการตรวจสอบ REST จาก API ไปยังเว็บไซต์ที่ใช้ Facebook OAuth เป็นวิธีการตรวจสอบสิทธิ์เท่านั้น ฉันได้อ่านและค้นคว้ามากมายเกี่ยวกับวิธีการตรวจสอบมาตรฐานสำหรับ REST API เราไม่สามารถใช้วิธีการดังกล่าวเป็นการตรวจสอบสิทธิ์พื้นฐานผ่าน HTTPSได้เนื่องจากไม่มีข้อมูลรับรองสำหรับผู้ใช้เช่นนี้ สิ่งนี้ดูเหมือนจะใช้สำหรับการตรวจสอบสิทธิ์แอปพลิเคชันโดยใช้ API เท่านั้น ขณะนี้วิธีที่ดีที่สุดที่ฉันคิดได้คือคุณเข้าสู่ / อนุญาตจุดสิ้นสุดบน API ของเรามันจะเปลี่ยนเส้นทางไปที่ Facebook OAuth จากนั้นเปลี่ยนเส้นทางกลับไปที่ไซต์และให้ 'โทเค็น' ซึ่งผู้ใช้ API สามารถใช้เพื่อตรวจสอบสิทธิ์ในภายหลังได้ คำขอ สำหรับแอปพลิเคชันอย่างเป็นทางการที่เราสร้างขึ้นเราไม่จำเป็นต้องใช้ API สาธารณะในลักษณะเดียวกัน อะไรคือวิธีที่ดีที่สุดในการพูดคุยกับเว็บไซต์ของเราและตรวจสอบสิทธิ์ผู้ใช้ …

10
สร้างคอนโทรลเลอร์ด้วยฟังก์ชัน RESTful ทั้งหมด
ฉันกำลังพยายามสร้างคอนโทรลเลอร์ที่มีการดำเนินการ RESTful ทั้งหมดที่หยุดชะงัก ฉันได้อ่านที่Wikibooks - Ruby on Railsสิ่งที่ฉันต้องทำคือเรียกเครื่องกำเนิดไฟฟ้าด้วยชื่อคอนโทรลเลอร์และฉันจะได้รับสิ่งนั้น ฉันวิ่งไปscript/generate rspec_controller Propertiesแต่มีคอนโทรลเลอร์ที่ว่างเปล่า ข้อเสนอแนะอื่น ๆ จะได้รับการชื่นชมอย่างมาก

5
คำกริยาและการกระทำ RESTful url ที่ดีที่สุด / ทั่วไปคืออะไร
ฉันกำลังพยายามค้นหาข้อมูลบางอย่างเกี่ยวกับการดำเนินการ RESTful url ที่ดีที่สุดและพบบ่อยที่สุด ตัวอย่างเช่นคุณใช้ URL ใดในการแสดงรายละเอียดของรายการเพื่อแก้ไขรายการอัปเดต ฯลฯ /question/show/<whatever> /question/edit/<whatever> /question/update/<whatever> (this is the post back url) /question/list (lists the questions) อืม. ขอบคุณทุกคนที่ช่วย :)
86 rest 

2
ฉันจะหาข้อมูลอ้างอิง api ที่สงบของเจนกินส์ได้ที่ไหน [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน8 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังพยายามรวมระบบภายนอกกับเจนกินส์โดย REST API แม้ว่าฉันได้ทำการค้นหาโดย Google จำนวนมากเกี่ยวกับการอ้างอิง API แต่ฉันก็ยังไม่สามารถรับรายการอ้างอิง jenkins REST API ทั้งหมด ใครรู้เกี่ยวกับเรื่องนี้?
86 rest  jenkins 

1
การจัดโครงสร้างเอกสารออนไลน์สำหรับ REST API
ฉันกำลังสร้าง Rest API ตัวแรกซึ่งจัดลำดับข้อมูลเป็นรูปแบบ JSON และ XML ฉันต้องการให้หน้าดัชนีแก่ไคลเอ็นต์ API ซึ่งพวกเขาจะสามารถเลือกจุดสิ้นสุดที่ใช้งานได้ ข้อมูลใดบ้างที่ฉันต้องรวมไว้เพื่อให้ API ของฉันมีประโยชน์สูงสุดและฉันควรจัดระเบียบอย่างไร
85 api  rest  indexing 

4
วิธีการซิงค์ CoreData และบริการเว็บ REST แบบอะซิงโครนัสและในเวลาเดียวกันอย่างเหมาะสมเผยแพร่ข้อผิดพลาด REST ลงใน UI
สวัสดีฉันกำลังทำงานกับเลเยอร์โมเดลสำหรับแอปของเราที่นี่ ข้อกำหนดบางประการมีดังนี้: ควรใช้กับ iPhone OS 3.0+ แหล่งที่มาของข้อมูลของเราคือแอปพลิเคชัน RESTful Rails เราควรแคชข้อมูลในเครื่องโดยใช้ Core Data รหัสไคลเอ็นต์ (ตัวควบคุม UI ของเรา) ควรมีความรู้เกี่ยวกับสิ่งต่างๆในเครือข่ายให้มากที่สุดเท่าที่จะเป็นไปได้และควรสอบถาม / อัปเดตโมเดลด้วย Core Data API ฉันได้ตรวจสอบWWDC10 เซสชัน 117เกี่ยวกับการสร้างประสบการณ์ผู้ใช้ที่ขับเคลื่อนด้วยเซิร์ฟเวอร์ใช้เวลาพอสมควรในการตรวจสอบObjective Resource , Core ResourceและRestfulCoreData frameworks เฟรมเวิร์ก Objective Resource ไม่ได้พูดคุยกับ Core Data ด้วยตัวมันเองและเป็นเพียงการนำไคลเอนต์ REST มาใช้เท่านั้น ทรัพยากรหลักและ RestfulCoreData ทั้งหมดถือว่าคุณคุยกับ Core Data ในโค้ดของคุณและพวกเขาแก้ปัญหาถั่วและสลักเกลียวทั้งหมดในพื้นหลังของเลเยอร์โมเดล ตอนนี้ทุกอย่างดูดีและในตอนแรกฉันแม้ว่า Core Resource หรือ RestfulCoreData …

2
ทำไมต้องใช้ JAX-RS / Jersey?
ขออภัยคำถามนี้ฟังดูงี่เง่า แต่หลังจากพัฒนาบริการ RESTful โดยใช้ Jersey แล้วฉันก็ถามตัวเองว่า - ถ้า REST เป็นเพียงสถาปัตยกรรมไม่ใช่โปรโตคอลเช่น SOAP ทำไมเราต้องมีข้อกำหนดเช่น JAX-RS จริงๆแล้วฉันใช้ Google สำหรับคำถามเช่น "ความแตกต่างระหว่าง servlets และบริการ RESTful บน HTTP" คืออะไรและเพื่อสรุปคำตอบของชุมชนฉันได้รับ: การพัฒนาบริการ RESTful (บนเจอร์ซีย์) เป็นสถาปัตยกรรมที่ใช้ servlets โดยธรรมชาติ เครื่องมือที่เข้ากันได้กับ JAX-RS เช่น Jersey ให้ข้อมูล XML / JSON แบบมาร์แชลลิ่งที่ง่ายช่วยให้นักพัฒนาซอฟต์แวร์ REST ช่วยให้เราใช้ GET / POST / PUT / DELETE ในรูปแบบที่มีประสิทธิภาพสูงกว่า servlets ทั่วไป …
85 rest  jersey  jax-rs 

6
การจัดการอาร์กิวเมนต์ PUT / DELETE ใน PHP
ฉันกำลังทำงานกับไลบรารีไคลเอนต์ RESTของฉันสำหรับ CodeIgniterและฉันกำลังดิ้นรนหาวิธีส่งอาร์กิวเมนต์ PUT และ DELETE ใน PHP ในไม่กี่แห่งฉันเคยเห็นผู้คนใช้ตัวเลือก: $this->option(CURLOPT_PUT, TRUE); $this->option(CURLOPT_POSTFIELDS, $params); น่ารำคาญดูเหมือนว่าจะไม่ทำอะไรเลย นี่เป็นวิธีที่ถูกต้องในการตั้งค่าพารามิเตอร์ PUT หรือไม่ ถ้าเป็นเช่นนั้นฉันจะตั้งค่าพารามิเตอร์ DELETE ได้อย่างไร $ this-> option () เป็นส่วนหนึ่งของไลบรารีของฉันมันเพียงแค่สร้างอาร์เรย์ของค่าคงที่ CURLOPT_XX และส่งไปยัง curl_setopt_array () เมื่อมีการเรียกใช้คำขอ cURL ที่สร้างขึ้น ฉันพยายามอ่านพารามิเตอร์ PUT และ DELETE โดยใช้รหัสต่อไปนี้: case 'put': // Set up out PUT variables parse_str(file_get_contents('php://input'), $this->_put_args); break; case 'delete': …

9
HATEOAS: URL ที่สมบูรณ์หรือสัมพัทธ์?
ในการออกแบบ RESTful Web Service โดยใช้ HATEOAS ข้อดีข้อเสียของการแสดงลิงก์เป็น URL แบบสมบูรณ์คืออะไร (" http: // server: port / application / customers / 1234 ") เทียบกับ just the path ("/ application / ลูกค้า / 1234 ")?
84 rest  hateoas 

10
การทดสอบอัตโนมัติสำหรับ REST Api [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันต้องการเขียนชุดทดสอบอัตโนมัติสำหรับ REST API ในขณะที่เราดำเนินการบริการใหม่ ๆ เราต้องการตรวจสอบเพื่อให้แน่ใจว่าบริการที่สร้างไว้ก่อนหน้านี้ทั้งหมดทำงานได้ตามที่คาดไว้ มีข้อเสนอแนะเกี่ยวกับเครื่องมือที่ดีที่สุดที่จะใช้เพื่อบรรลุเป้าหมายนี้หรือไม่? ฉันรู้ว่ามีเครื่องมือเช่น Apigee ที่ให้คุณทดสอบได้ครั้งละ 1 บริการ แต่เราต้องการวิธีทดสอบบริการทั้งหมดด้วยการคลิกปุ่ม
84 api  rest  testing  automation 

2
ขยาย API ที่มีอยู่ด้วยจุดปลายที่กำหนดเอง
ฉันกำลังสร้าง API สำหรับลูกค้าหลายคน จุดสิ้นสุดหลักเช่นเดียวกับ/usersที่ใช้โดยลูกค้าทุกคน แต่จุดปลายบางอย่างขึ้นอยู่กับการปรับแต่งของแต่ละบุคคล ดังนั้นอาจเป็นไปได้ว่าผู้ใช้ Aต้องการจุดปลายพิเศษ/groupsและไม่มีลูกค้ารายอื่นที่จะมีคุณสมบัติดังกล่าว เช่นเดียวกับ sidenoteลูกค้าแต่ละรายจะใช้สคีมาฐานข้อมูลของเขาเองเนื่องจากคุณสมบัติพิเศษเหล่านั้น ฉันใช้ NestJs (ด่วนภายใต้ประทุน) เป็นการส่วนตัว ดังนั้นapp.moduleปัจจุบันลงทะเบียนโมดูลหลักทั้งหมดของฉัน (พร้อมจุดสิ้นสุดของตนเองเป็นต้น) import { Module } from '@nestjs/common'; import { UsersModule } from './users/users.module'; // core module @Module({ imports: [UsersModule] }) export class AppModule {} ฉันคิดว่าปัญหานี้ไม่เกี่ยวข้องกับ NestJs ดังนั้นคุณจะจัดการกับเรื่องนี้อย่างไรในทางทฤษฎี? โดยทั่วไปฉันต้องการโครงสร้างพื้นฐานที่สามารถให้ระบบพื้นฐานได้ ไม่มีจุดสิ้นสุดหลักอีกต่อไปเพราะส่วนขยายแต่ละรายการไม่ซ้ำกันและ/usersอาจมีการใช้งานหลายอย่าง เมื่อพัฒนาฟีเจอร์ใหม่แอปพลิเคชันหลักไม่ควรสัมผัส ส่วนขยายควรรวมตัวเองหรือควรรวมเข้าด้วยกันเมื่อเริ่มต้น ระบบหลักจัดส่งโดยไม่มีจุดสิ้นสุด แต่จะถูกขยายจากไฟล์ภายนอกเหล่านั้น ความคิดบางอย่างมาถึงใจของฉัน วิธีแรก: แต่ละนามสกุลแสดงถึงที่เก็บใหม่ …

3
การรวมภายหลังแก้ปัญหาแบบไดนามิกหลังจากเข้าสู่คอนโทรลเลอร์
ฉันกำลังมองหาวิธีแก้ไขโมเดลหลังจากเข้าสู่การกระทำในคอนโทรลเลอร์วิธีที่ง่ายที่สุดในการอธิบายปัญหาคือ: public DTO[] Get(string filterName) { //How can I do this this.Resolve<MyCustomType>("MyParamName"); } หากคุณกำลังมองหาข้อมูลเพิ่มเติมว่าทำไมฉันถึงพยายามทำเช่นนั้นคุณสามารถอ่านต่อเพื่อรับภาพเต็ม TL; DR ฉันกำลังมองหาวิธีในการแก้ไขแบบจำลองคำขอโดยกำหนดชื่อพารามิเตอร์ที่จะได้รับการแก้ไขจากสตริงข้อความค้นหาฉันจะลงทะเบียนตัวกรองแบบไดนามิกได้อย่างไรจากการเริ่มต้น ฉันมีชั้นเรียนที่จะจัดการกับการลงทะเบียนตัวกรองของฉัน ในระดับเริ่มต้นของฉันฉันต้องการที่จะสามารถลงทะเบียนตัวกรองแบบไดนามิกกับส่วนที่เหลือของฉันบริการ ฉันมีตัวเลือกที่ฉันใช้ส่งผ่านไปยัง ControllerFeatureProvider ที่กำหนดเองซึ่งมีลักษณะโดยประมาณดังนี้: public class DynamicControllerOptions<TEntity, TDTO> { Dictionary<string, Func<HttpContext, Expression<Func<TEntity, bool>>>> _funcNameToEndpointResolverMap = new Dictionary<string, Func<HttpContext, Expression<Func<TEntity, bool>>>>(); Dictionary<string, List<ParameterOptions>> _filterParamsMap = new Dictionary<string, List<ParameterOptions>>(); public void AddFilter(string filterName, Expression<Func<TEntity, …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.