4.用 HTTP 方法操作资源 使用 URL 指定你要用的资源。使用 HTTP 方法来指定怎么处理这个资源。...使用五种 HTTP 方法 POST,GET,PUT/PATCH,DELETE 可以提供 CRUD 功能(创建,获取,更新,删除)。 除了 POST 其他请求都具备幂等性(多次请求的效果相同)。...需要注意的是 POST 和 PUT 最大的区别就是幂等性,所以 PUT 也可以用于创建操作,只要在创建前就可以确定资源的 ID。 获取:使用 GET 方法获取资源。GET 请求从不改变资源的状态。...因此,GET 将检索资源,POST 将创建资源,PUT 将更新整个资源,DELETE 将删除资源,PATCH 更新资源的局部数据。 5.用过滤、排序和分页请求数据 有时,API 的数据库可能非常大。...12.使用 HTTP 状态码 你应该在对你的 API 请求的响应中始终使用常规的 HTTP 状态代码。这将帮助你的用户知道发生了什么——请求是否成功,或者是否失败,或者其他情况。
可以在 RESTful API 中访问以下 HTTP 操作: GET 请求:检索资源 POST 请求:创建资源或将信息发送到 API PUT 请求:创建或替换资源 PATCH 请求:更新现有资源 DELETE...1.正确使用 HTTP 方法 我们已经讨论了可用于修改资源的 HTTP 方法:GET,POST,PUT,PATCH 和 DELETE。...尽管如此,许多开发人员还是倾向于滥用 GET 和 POST 或 PUT 和 PATCH。通常,我们看到开发人员使用 POST 请求来检索数据。...这种方法的最大优点是,每个开发人员都了解 RESTful API 的设计方式,他们可以立即使用 API,而不必阅读你的每个端点的文档。 3.使用复数资源 资源应始终使用其复数形式。为什么?...假设你要检索所有作者。因此,你将调用以下端点:GET api.com/authors。 当你读取请求时,你无法判断 API 响应是否只包含一个或所有作者。因此,API 端点应该使用复数资源。
在本小节中,我们将介绍一个RESTful API,它使用HTTP请求方法来GET、PUT、POST和DELETE数据。...请求方法 GET、POST、PUT 和 DELETE 是HTTP请求方法,我们可以用它们来实现API或CRUD操作应用程序。 GET:GET方法用于通过给定的URI从给定的服务器检索和获取信息。...使用GET的请求应该只检索数据,并且不应对数据产生其他影响。 POST:POST请求用于创建数据并将数据发送到服务器,例如,使用HTML表单创建新的帖子、文件上传等。...构建API 在这一部分,我们将介绍一个使用HTTP请求方法来获取(GET)、更新(PUT)、创建(POST)和删除(DELETE)数据的RESTful API。...在平常工作中可能大家见到的接口基本都是GET/POST两种,研发通过接口名区分其他操作,而不是用这种请求方法。
在网页搜索的上下文中,索引是一种数据结构,可以查找检索词并找到该词出现的页面。此外,我们想知道每个页面上显示检索词的次数,这将有助于确定与该词最相关的页面。...8.1 数据结构选取 索引的基本操作是查找;具体来说,我们需要能够查找检索词并找到包含它的所有页面。最简单的实现将是页面的集合。给定一个检索词,我们可以遍历页面的内容,并选择包含检索词的内容。...之后它创建了TermCounter并使用它来计数页面上的单词。 下一节中,你会拥有一个挑战,来运行这个代码,并通过填充缺失的方法来测试你的理解。...最后一行应该打印检索词计数的总和,但是由于方法size不完整而返回-1。填充此方法并ant TermCounter重新运行。结果应该是4798。...最后,get方法接受检索词并返回相应的TermCounter对象集。 这种数据结构比较复杂。
正确使用HTTP方法 我们已经讨论了你可以用来修改资源的可能的HTTP方法:GET,POST,PUT,PATCH,和 DELETE。...然而,许多开发者往往会滥用GET和POST,或者PUT和PATCH。通常情况下,我们看到开发者使用POST请求来检索数据。...此外,我们看到开发者使用PUT请求来替换资源,而他们只想更新该资源的一个字段。 确保使用正确的HTTP方法。如若不如此做,将为使用你的RESTful API的开发者增加许多困惑。最好遵守预定的准则。...这种方法的最大优点是,每个开发者都了解RESTful API是如何设计的,他们可以立即使用API,而不必阅读你的每个端点的文档。 使用复数资源 资源应始终使用其复数形式。为什么?...通过HTTP头发送元数据 HTTP头允许客户在其请求中发送额外的信息。例如,Authorization头部通常用于发送认证数据以访问API。 所有可能的HTTP头的完整列表可以在这里[5]找到。
判断HashMap是否为空 您可以使用isEmpty方法来检查HashMap是否为空: boolean isEmpty = hashMap.isEmpty(); 如果HashMap为空,将返回true,...判断是否包含键或值 您可以使用containsKey方法来检查HashMap是否包含特定键: boolean containsKey = hashMap.containsKey("apple"); //...检查是否包含键"apple" 同样地,您可以使用containsValue方法来检查HashMap是否包含特定值: boolean containsValue = hashMap.containsValue...这些是一些更多操作HashMap的方法和概念,它们可以帮助您更好地使用和管理HashMap集合。根据您的需求,选择适当的方法来操作和处理HashMap中的数据。...异常处理: 当使用get方法获取值时,要考虑键不存在的情况,以避免NullPointerException。可以使用containsKey方法或条件语句来检查键是否存在。
state=external POST /employees PUT /employees/56 用HTTP方法操作资源 使用URL指定你要用的资源。使用HTTP方法来指定怎么处理这个资源。...使用四种HTTP方法POST,GET,PUT,DELETE可以提供CRUD功能(创建,获取,更新,删除)。 获取:使用GET方法获取资源。GET请求从不改变资源的状态。GET方法具有只读的含义。...因此,你可以随意使用缓存。 创建:使用POST创建新的资源。 更新:使用PUT更新现有资源。 删除:使用DELETE删除现有资源。 2个URL乘以4个HTTP方法就是一组很好的功能。...如果数据库检索很慢,应当减小limit值。 /employees #返回0到10的员工 此外,如果您使用分页,客户端需要知道资源总数。...前文提到,对于非资源请求URL,使用动词而不是名词。因此,您的搜索网址可能如下所示: GET /search?
使用名词而不是动词 为了易于理解,为资源使用下面的API结构: Resource Getread Postcreate Putupdate Delete /cars 返回一个car的列表 创建一个新的car...Get方法和查询参数不应该改变资源状态 使用Put,Post和Delete方法替代Get方法来改变资源状态。不要使用Get来使状态改变: GET /users/711?...20条数据: GET /cars?...,下文中列出10个使用率较高的: 200 – OK – 一切正常 201 – OK – 新资源已经被创建 204 – OK – 资源删除成功 304 – 没有变化,客户端可以使用缓存数据 400 – Bad...允许重写HTTP方法 一些代理只支持GET和POST方法,为了在这种限制下支持RESTful API,API需要重写HTTP方法。
", "date": "2014/01/01" } 检查文档是否存在 只是检查文档是否存在——你对内容完全不感兴趣——使用HEAD方法来代替GET。...如果需要更新已存在的文档,我们可以使用《索引文档》章节提到的index API 重建索引(reindex) 或者替换掉它 PUT /website/blog/123 { "title": "My first...创建一个新文档 POST /website/blog/ { ... } 如果想使用自定义的_id 第一种方法使用op_type查询参数 PUT /website/blog/123?...合并多个请求可以避免每个请求单独的网络开销。如果你需要从Elasticsearch中检索多个文档,相对于一个一个的检索,更快的方式是在一个请求中使用multi-get或者mget API。...这些都是作为每行有效的分离而做的标记。 - 每一行的数据不能包含未被转义的换行符,它们会干扰分析——这意味着JSON不能被美化打印。
state=external POST /employees PUT /employees/56 用HTTP方法操作资源 使用URL指定你要用的资源。使用HTTP方法来指定怎么处理这个资源。...使用四种HTTP方法POST,GET,PUT,DELETE可以提供CRUD功能(创建,获取,更新,删除)。 获取:使用GET方法获取资源。GET请求从不改变资源的状态。无副作用。GET方法是幂等的。...GET方法具有只读的含义。因此,你可以完美的使用缓存。 创建:使用POST创建新的资源。 更新:使用PUT更新现有资源。 删除:使用DELETE删除现有资源。...如果数据库检索很慢,应当减小 limit值。 /employees #返回0 到 10的员工 此外,如果您使用分页,客户端需要知道资源总数。...前文提到,对于非资源请求URL,使用动词而不是名词。因此,您的搜索网址可能如下所示: GET /search?
以下是一些常用的操作技巧,您可以借助这些方法来高效地操作HashMap: 2.1 添加键值对:put(K key, V value) 使用put方法可以向HashMap中添加键值对,确保键的唯一性,实现高效的存储...key) 通过get方法可以根据键来获取对应的值,快速实现数据的检索和获取。...较高的负载因子会增加哈希冲突的机会,但可以减少内存使用。在实践中,通常需要根据具体需求来选择合适的容量和负载因子。 什么情况下你会选择使用HashMap,而不是其他数据结构?...使用put方法来添加键值对 hashMap.put("key1", "value1"); hashMap.put("key2", "value2"); hashMap.put...遍历优化:如果需要遍历HashMap,使用entrySet()方法来获得键值对的集合,然后遍历这个集合,而不是直接遍历键或值。这可以提高遍历性能。
和opt方法来根据name访问value、put方法来根据name增加或替换value的对象。...如果name存在,则get会返回对应的值,否则会抛出异常JSONException。而opt方法则会在不存在所要检索的name时可以指定一个默认值而不是抛出异常,这样可以获取可选择值。...普通的get()和opt()方法会返回Object,因而可以对返回值进行强制类型转换。也可以使用类型化的get和opt方法进行类型审核和强转。...否则会抛出异常,由代码片段中的注释可以看出。 另外put方法会进行替换而不会追加到name对应的value集合中。...从JSONObject检索数据也提供了一些常用的方法,例如一些列的get方法,opt方法。
例如,它可以用来测试HTTP/1.1遵从(或缺少)的代理。 如果请求URI不是星号,则OPTIONS请求仅适用于与该资源通信时可用的选项。 ...如果请求URI指定的是一个数据产生的过程,那么应该将生成的数据作为实体返回,而不是返回该流程的原文本,除非该文本恰好是该过程的输出。 ...条件GET方法旨在减少不必要的网络请求,它允许刷新缓存的实体,而不需要多个请求或传输客户端里已经存在的数据。 ...部分GET方法旨在完成对实体的部分检索而不传输客户端已经存在的数据来减少不必要的网络请求。 当且仅当它满足第13节中所描述的有关HTTP缓存的要求时,对GET请求的响应是可以被缓存的。 ...但是,可以使用303(See Other)响应指示用户代理检索可缓存资源。 POST请求必须遵守第8.2节中规定的有关消息传输要求。
GET GET方法请求一个指定资源的表示形式. 使用GET的请求应该只被用于获取数据. HEAD HEAD方法请求一个与GET请求的响应相同的响应,但没有响应体....RESTful API 规范 其实我们应该可以发现,我们开发的一个个Web应用服务或者程序,其实就是对服务器的资源的CRUD(创建、检索、更新和删除),所以 RESTful API 的规范建议我们使用特定的...HTTP方法来对服务器上的资源进行操作。...HTTP PATCH https://www.flysnow.org/users/123 PATCH也更新资源,它和PUT不一样的是,它只能更新这个资源的部分信息,而不是全部(这种也叫替换),是部分更新...,从中可以看出,Gin的API非常友好,可以让我们很容易的使用相应的方法来注册我们对某个HTTP Method的处理。
(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。...三:数组是一种可读/可写数据结构---没有办法创建一个只读数组。然而可以使用集合提供的ReadOnly方法,以只读方式来使用集合。该方法将返回一个集合的只读版本。...方法get(Object key)返回与给定“键”相关联的“值”。可以用containsKey()和containsValue()测试Map中是否包含某个“键”或“值”。...3、List,可以通过get()方法来一次取出一个元素。使用数字来选择一堆对象中的一个,get(0)...。(add/get) 4、一般使用ArrayList。...5、Map用 put(k,v) / get(k),还可以使用containsKey()/containsValue()来检查其中是否含有某个key/value。
HashMap的关键方法 HashMap主要提供了以下几个核心方法: put(key, value): 将指定的键值对存储到HashMap中。 get(key): 根据键检索对应的值。...缓存实现 HashMap可以用作缓存的实现,通过将键值对存储在HashMap中,可以快速地检索和访问缓存数据。例如,可以将最近访问的数据存储在HashMap中,以提高数据访问的速度。...数据索引 在需要快速查找和检索数据的场景中,HashMap是一个理想的数据结构。例如,在文本搜索引擎中,可以使用HashMap来存储文档索引,以快速查找包含特定关键字的文档。...缓存对象的快速检索 在对象关联性数据的管理中,HashMap可以用于快速检索对象。例如,在一个电子商务应用中,可以将商品ID映射到对应的商品对象,以便快速检索商品信息。...我使用了两个 HashMap 实例,一个用于存储配置信息 (configMap),另一个用于存储用户会话数据 (sessionMap)。我提供了方法来添加和获取配置信息,以及添加和获取用户会话数据。
漏洞简介 在REST API自动包含在Wordpress4.7以上的版本,WordPress REST API提供了一组易于使用的HTTP端点,可以使用户以简单的JSON格式访问网站的数据,包括用户,帖子...检索或更新数据与发送HTTP请求一样简单。...五种请求 之后,WP-API还有这么几种请求(也可以想成是功能吧): HEAD GET POST PUT DELETE 以上表示HTTP客户端可能对资源执行的操作类型。...这个路由有三个端点: GET触发一个get_item方法,将post数据返回给客户端。 PUT触发一个update_item方法,使数据更新,并返回更新的发布数据。...从代码中可以看出,它是用wp_posts中的get_instance静态方法来获取文章的,跟进wp_posts类,位于/wp-includes/class-wp-post.php中: public static
再次点击get按钮重新获取db.json数据,就可以看到新添加进去的数据。此时打开db.json文件,也可以看到这条新添加的记录。...name = orange' 这种url,只能供 GET 方法来获取数据。既然如此,我们就多绕个弯,通过GET方法来获知id,然后再通过id去PATCH数据。...GET和PATCH方法结合 5 DELETE PATCH是一个新方法,可以当作是PUT方法的补充,主要用来做局部更新。 案例:同PUT方法。...这就需要实现通过GET方法来获取当前最大id(注意是最大id,而不是数据个数)来作为循环的边界。.../PATCH 之间的区别 因为平时的HTTP服务请求,经常是POST/GET交替使用,没有过多去了解其他方法,所以此处先从语义上了解下 POST/PUT/PATCH 的联系与区别。
不应该: GET /shops/:shopId/category/:categoryId/price 这很糟糕,因为它指向的是一个属性而不是资源。...相反,使用适当的HTTP方法来描述操作。 不应该: POST /updateuser/{userId} 或: GET /getusers 应该: PUT /user/{userId} 6....对CRUD函数使用HTTP方法 HTTP方法用于解释CRUD功能。 GET:检索资源的表示形式。 POST:创建新的资源和子资源。 PUT:更新现有资源。...PUT /shops/2/products/31:应该更新产品31的信息,只在resource-URL上使用PUT,而不是集合。...错误 当客户端向服务发出无效或不正确的请求,或向服务传递无效或不正确的数据,而服务拒绝该请求时,就会出现错误,或者更具体地说,出现服务错误。
领取专属 10元无门槛券
手把手带您无忧上云