pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

      <tfoot id='NWTKO'></tfoot>

      <legend id='NWTKO'><style id='NWTKO'><dir id='NWTKO'><q id='NWTKO'></q></dir></style></legend>
      • <bdo id='NWTKO'></bdo><ul id='NWTKO'></ul>

      <small id='NWTKO'></small><noframes id='NWTKO'>

      <i id='NWTKO'><tr id='NWTKO'><dt id='NWTKO'><q id='NWTKO'><span id='NWTKO'><b id='NWTKO'><form id='NWTKO'><ins id='NWTKO'></ins><ul id='NWTKO'></ul><sub id='NWTKO'></sub></form><legend id='NWTKO'></legend><bdo id='NWTKO'><pre id='NWTKO'><center id='NWTKO'></center></pre></bdo></b><th id='NWTKO'></th></span></q></dt></tr></i><div class="rvlr5hb" id='NWTKO'><tfoot id='NWTKO'></tfoot><dl id='NWTKO'><fieldset id='NWTKO'></fieldset></dl></div>

      如何最好地設計具有多個過濾器的 REST API?

      How best to design a REST API with multiple filters?(如何最好地設計具有多個過濾器的 REST API?)

        <bdo id='ejdqx'></bdo><ul id='ejdqx'></ul>
          <tbody id='ejdqx'></tbody>

            <legend id='ejdqx'><style id='ejdqx'><dir id='ejdqx'><q id='ejdqx'></q></dir></style></legend>
            <i id='ejdqx'><tr id='ejdqx'><dt id='ejdqx'><q id='ejdqx'><span id='ejdqx'><b id='ejdqx'><form id='ejdqx'><ins id='ejdqx'></ins><ul id='ejdqx'></ul><sub id='ejdqx'></sub></form><legend id='ejdqx'></legend><bdo id='ejdqx'><pre id='ejdqx'><center id='ejdqx'></center></pre></bdo></b><th id='ejdqx'></th></span></q></dt></tr></i><div class="pxl7zvj" id='ejdqx'><tfoot id='ejdqx'></tfoot><dl id='ejdqx'><fieldset id='ejdqx'></fieldset></dl></div>
              <tfoot id='ejdqx'></tfoot>

              <small id='ejdqx'></small><noframes id='ejdqx'>

                本文介紹了如何最好地設計具有多個過濾器的 REST API?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                作為一個個人編程項目,我正在努力抓取我大學的課程目錄并將數據作為 REST API 提供.我已成功抓取所有數據并將其存儲在數據庫中,現在正在開發 API.

                As a personal programming project, I am working on scraping my University's course catalog and providing the data as a REST API. I have successfully scraped all the data and stored it in a database, and am now working on the API.

                可以根據許多標準過濾課程:講師、大學、學分、時間、天數等.

                The courses can be filtered on the basis of many criteria: instructor, college, credits, time, day etc.

                在這種情況下提供 API 的最佳方式是什么?

                What is the best way to provide an API in this situation?

                選項 1

                提供多個 URL,例如

                Provide numerous URLs such as

                example.com/api/byinstructor/<instructorcode>
                example.come/api/bycollege/<collegecode>
                example.com/api/bycollegeandinstructor/<collegecode>/<instructorcode>
                ...and so on
                

                我需要所有排列的 URL.這對于我和 API 消費者來說似乎非常麻煩,而且非常不干.

                I would need to have a URL for all permutations. This seems very cumbersome, both for me and the API consumers, and very un-DRY.

                選項 2

                僅提供主要選項的 API,例如:

                Only provide APIs for the major options like:

                example.com/api/byinstructor/<instructorcode>
                example.come/api/bycollege/<collegecode>
                

                如果消費者想要bycollegeandinstructor,他會在自己的一端進行過濾.

                And if the consumer wants bycollegeandinstructor, he does the filtering on his end.

                選項 3

                用戶向我傳遞一個 JSON 字符串,我用它來獲取過濾條件

                The user passes a JSON string to me, and I use that to get the filtering criteria

                example.com/api/getcourses/<jsonstring>
                
                jsonstring = 
                { 
                  instructor:<instructorcode>,
                  college:<collegecode>,
                  ...and so on
                }
                

                我想除了 Json 字符串,我還可以需要一個 POST 數組,但這對消費者來說似乎不直觀,因為他正在 GET 數據.

                I suppose instead of the Json string, I could also require a POST array, but that seems un-inituitive for the consumer since he is GETing data.

                或者還有其他我不知道的方法嗎?如果第三個選項是最佳選項,您能否提供一個簡短的摘要,以便根據可能具有可變數量值的 JSOn 字符串準備 SQL 查詢?

                Or is there another way of doing this I am not aware of? If it is the third option that is the best option, could you provide a short summary best to prepare a SQL query on the basis of a JSOn string that may have variable number of values?

                推薦答案

                為了擴展 J.F. 的答案,聽起來您有一個資源,即課程集,位于 URI:

                To expand on the answer from J.F., it sounds like you have one resource, the set of courses, which would be at the URI:

                /courses
                

                過濾該資源通常是使用查詢參數來過濾單個資源來完成的,例如:

                Filtering that resource is usually accomplished using query parameters to filter that single resource, e.g:

                /courses?college=123&instructor=321
                

                通過這樣做,您可以避免所有可能的排列造成資源激增的問題.

                By doing this, you avoid the issue with all possible permutations creating a proliferation of resources.

                從根本上說:只有一種資源,可以根據需要對其進行過濾.

                Fundamentally: There's one resource, which can be filtered as necessary.

                這篇關于如何最好地設計具有多個過濾器的 REST API?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                How to use windowing functions efficiently to decide next N number of rows based on N number of previous values(如何有效地使用窗口函數根據 N 個先前值來決定接下來的 N 個行)
                reuse the result of a select expression in the quot;GROUP BYquot; clause?(在“GROUP BY中重用選擇表達式的結果;條款?)
                Does ignore option of Pyspark DataFrameWriter jdbc function ignore entire transaction or just offending rows?(Pyspark DataFrameWriter jdbc 函數的 ignore 選項是忽略整個事務還是只是有問題的行?) - IT屋-程序員軟件開發技
                Error while using INSERT INTO table ON DUPLICATE KEY, using a for loop array(使用 INSERT INTO table ON DUPLICATE KEY 時出錯,使用 for 循環數組)
                pyspark mysql jdbc load An error occurred while calling o23.load No suitable driver(pyspark mysql jdbc load 調用 o23.load 時發生錯誤 沒有合適的驅動程序)
                How to integrate Apache Spark with MySQL for reading database tables as a spark dataframe?(如何將 Apache Spark 與 MySQL 集成以將數據庫表作為 Spark 數據幀讀取?)
                  <i id='k5n4P'><tr id='k5n4P'><dt id='k5n4P'><q id='k5n4P'><span id='k5n4P'><b id='k5n4P'><form id='k5n4P'><ins id='k5n4P'></ins><ul id='k5n4P'></ul><sub id='k5n4P'></sub></form><legend id='k5n4P'></legend><bdo id='k5n4P'><pre id='k5n4P'><center id='k5n4P'></center></pre></bdo></b><th id='k5n4P'></th></span></q></dt></tr></i><div class="7vjtzdt" id='k5n4P'><tfoot id='k5n4P'></tfoot><dl id='k5n4P'><fieldset id='k5n4P'></fieldset></dl></div>

                    <legend id='k5n4P'><style id='k5n4P'><dir id='k5n4P'><q id='k5n4P'></q></dir></style></legend>
                      <bdo id='k5n4P'></bdo><ul id='k5n4P'></ul>
                    • <tfoot id='k5n4P'></tfoot>

                          <tbody id='k5n4P'></tbody>
                        • <small id='k5n4P'></small><noframes id='k5n4P'>

                        • 主站蜘蛛池模板: 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 防潮防水通风密闭门源头实力厂家 - 北京酷思帝克门窗 | 槽钢冲孔机,槽钢三面冲,带钢冲孔机-山东兴田阳光智能装备股份有限公司 | 欧洲MV日韩MV国产_人妻无码一区二区三区免费_少妇被 到高潮喷出白浆av_精品少妇自慰到喷水AV网站 | 烟台游艇培训,威海游艇培训-烟台市邮轮游艇行业协会 | 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 | 阿里巴巴诚信通温州、台州、宁波、嘉兴授权渠道商-浙江联欣科技提供阿里会员办理 | 道达尔润滑油-食品级润滑油-道达尔导热油-合成导热油,深圳道达尔代理商合-深圳浩方正大官网 | 黑田精工电磁阀-CAMMOZI气缸-ROSS电磁-上海茂硕机械设备有限公司 | 济南画室培训-美术高考培训-山东艺霖艺术培训画室 | 中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折! | 钣金加工厂家-钣金加工-佛山钣金厂-月汇好 | 上海宿田自动化设备有限公司-双面/平面/单面贴标机 | 培训一点通 - 合肥驾校 - 合肥新亚驾校 - 合肥八一驾校 | 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | 北京征地律师,征地拆迁律师,专业拆迁律师,北京拆迁律师,征地纠纷律师,征地诉讼律师,征地拆迁补偿,拆迁律师 - 北京凯诺律师事务所 | 滑板场地施工_极限运动场地设计_滑板公园建造_盐城天人极限运动场地建设有限公司 | 净水器代理,净水器招商,净水器加盟-FineSky德国法兹全屋净水 | 防弹玻璃厂家_防爆炸玻璃_电磁屏蔽玻璃-四川大硅特玻科技有限公司 | 代办建筑资质升级-建筑资质延期就找上海国信启航 | 智慧旅游_智慧景区_微景通-智慧旅游景区解决方案提供商 | CNC机加工-数控加工-精密零件加工-ISO认证厂家-鑫创盟 | 玻璃钢型材-玻璃钢风管-玻璃钢管道,生产厂家-[江苏欧升玻璃钢制造有限公司] | VI设计-LOGO设计公司-品牌设计公司-包装设计公司-导视设计-杭州易象设计 | 智能电表|预付费ic卡水电表|nb智能无线远传载波电表-福建百悦信息科技有限公司 | 南京PVC快速门厂家南京快速卷帘门_南京pvc快速门_世界500强企业国内供应商_南京美高门业 | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 电子海图系统-电梯检验系统-智慧供热系统开发-商品房预售资金监管系统 | 浙江宝泉阀门有限公司| 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 游动电流仪-流通式浊度分析仪-杰普仪器(上海)有限公司 | 深圳律师咨询_深圳律师事务所_华荣【免费在线法律咨询】网 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 电动葫芦|环链电动葫芦-北京凌鹰名优起重葫芦 | 消泡剂_水处理消泡剂_切削液消泡剂_涂料消泡剂_有机硅消泡剂_广州中万新材料生产厂家 | 柔性测斜仪_滑动测斜仪-广州杰芯科技有限公司 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 杭州可当科技有限公司—流量卡_随身WiFi_AI摄像头一站式解决方案 | 天津次氯酸钠酸钙溶液-天津氢氧化钠厂家-天津市辅仁化工有限公司 |