首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《ASP.ENT Core 与 RESTful API 开发实战》-- 读书笔记(第1章)

,在设计资源的 URI 时也应该注意以下原则: 使用名词的复数表示一个资源集合 使用斜线 ”/“ 用来表示资源之间的层次关系 对资源的增删改查等操作名称不应该包含在 URL 中 如果一个操作无法对应到资源的某个操作上...,此时可以适当地在 URI 中包含动词,但仍然应该基于一个资源的标识符 查询字符串可以用来对资源进行筛选、搜索或分页查询 URI 应使用小写字母 URI 中可以使用中划线 ”-“ 来增加其可读性 URI...是最常用到的两种资源表述格式 JSON 是一种轻量级的数据交换格式,数据使用名称/值来表示,中间用冒号隔开 JSON 数据项的值的类型可以是下列类型: 数字 字符串 逻辑值 数组 对象 null XML...,另外,标签名区分大小写,标签允许包含一个或多个属性,每个属性的值必须使用引号 JSON 比 XML 更简洁,容易解析,但是不支持注释,扩展性不如 XML RESTful API 添加版本有以下4中方式...: 使用 URI 路径,如 api/v1/users 使用查询字符串,如 api/users?

91410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android经典面试题之说说ContentProvider的生命周期及如何自定义?

    处理: 在实现时,需要解析传入的 Uri,并基于需要查询的数据和条件生成 SQL 查询。...返回值是一个 Cursor,它必须指向目标数据集,即使没有结果,也应该返回不为 null 的 Cursor(如 MatrixCursor)。...处理: 解析传入的 Uri,确定要插入数据的位置,并执行插入操作。 返回值应为新插入行的 Uri,用于指向新数据项。...返回值为修改的行数,以表示有多少行受到了影响。 5. delete() 作用: delete() 方法用于从 ContentProvider 中删除数据行。...处理: 需要返回 MIME 类型字符串,这取决于 Uri 指定的数据是否单独项(vnd.android.cursor.item)或一集合(vnd.android.cursor.dir)。

    7210

    JSP标准标签库

    如:基本输入输出、流程控制、循环、XML文件剖析、数据库查询及国际化和文字格式标准化的应用等。  ...说明 必须 默认值 value 需要显示出来的值 是 无 default 如果value的值为null,则显示default的值 否 无 escapeXml 是否转换特殊字符,如: 2.3 功能:主要负责移除变量 属性列表: 名称 说明 必须 默认值 var 欲移出的变量名称 是 无 scope Var变量的JSP范围 否 page 如: <c:remove...属性列表: 名称 说明 必须 默认值 var 用来存放现在指定的成员 否 无 items 被迭代的集合对象 否 无 varStatus 用来存放现在指的相关成员信息 否 无 begin 开始的位置 否...属性列表 名称 说明 必须 默认值 var 用来存放现在的成员 否 无 items 被迭代的字符串 是 无 delims 定义用来分割字符串的字符 是 无 varStatus 用来存放现在指定的相关成员信息

    1.4K10

    Jave Web JSTL(JspServer Pages Standdard Tag Library:JSP标准标签库)

    如:基本输入输出、流程控制、循环、XML文件剖析、数据库查询及国际化和文字格式标准化的应用等。...说明 必须 默认值 value 需要显示出来的值 是 无 default 如果value的值为null,则显示default的值 否 无 escapeXml 是否转换特殊字符,如: 2.3 功能:主要负责移除变量 属性列表: 名称 说明 必须 默认值 var 欲移出的变量名称 是 无 scope Var变量的JSP范围 否 page 如: <c:remove...属性列表: 名称 说明 必须 默认值 var 用来存放现在指定的成员 否 无 items 被迭代的集合对象 否 无 varStatus 用来存放现在指的相关成员信息 否 无 begin 开始的位置 否...属性列表 名称 说明 必须 默认值 var 用来存放现在的成员 否 无 items 被迭代的字符串 是 无 delims 定义用来分割字符串的字符 是 无 varStatus 用来存放现在指定的相关成员信息

    92510

    OpenFeign高级用法:缓存、QueryMap、MatrixVariable、CollectionFormat优雅地远程调用

    这在构建具有多个查询参数的API调用时特别有用,因为它允许你以声明式的方式组织这些参数,而不是手动构建查询字符串。 简单点说:可以将一个对象中的所有属性值以get的方式拼接到地址栏进行传递。...name=test&id=111 HTTP/1.1 通过这种方式,可以简洁地将复杂的查询参数组织到一个对象中,并让Feign自动处理参数到查询字符串的转换,从而简化了代码并提高了可读性。...使用 @MatrixVariable @MatrixVariable 被用来接收一个映射(Map),其中键是字符串,值是字符串列表。这在处理可能包含多个值的矩阵变量时非常有用。...矩阵变量的值可以是单个值,也可以是用逗号分隔的多个值,这取决于你的 API 如何设计。 使用矩阵变量时,要确保你的 URI 编码和解码逻辑能够正确处理这些变量,特别是当值中包含特殊字符时。...当你在Feign客户端的方法中使用集合类型的参数(如 List)时,这个注解能够帮助你定义如何将集合中的元素串联起来,以便通过HTTP请求发送给服务端。

    38600

    Asp.Net Web API(三)

    第二个方法:WebDAV方法,(基于Web的分布式著作与版本控制的HTTP方法,是一个扩展的HTTP方法,MKCOL时隶属于WebDAV的一个方法,它在URI指定的位置创建集合) 通过Action名称路由...这个框架试图把URI路径中的片段与这个模板进行匹配。模板中文字必须严格匹配。一个占位符可以匹配任何值,除非你指定了约束。这个框架不会URI另外的部分,例如主机名或者一个查询字符串。...该列表不包括可选参数               b:从这个列表中,试着在路由字典或是在URI查询字符串中,找到每个参数的匹配。...其基本思想是,可以从URI,或请求体,或一个自定义绑定来获取参数值。对于来自URI的参数,我们希望确保URI在其路径(通过路由字典)或查询字符串中实际包含一个用于此参数的值。    ...因此,这个Action只能匹配在路由字典或查询字符串包含了id值的URI    可选参数是一个例外,因为它们是可选的。对于可选参数,如果绑定不能通过URI获取它的值,是没关系的。

    1.7K50

    UriTemplate、UriTemplateTable与WebHttpDispatchOperationSelector

    IgnoreTrailingSlash属性返回调用构造函数指定的同名参数,默认值为True,意味着在默认情况在模板字符串结尾指定的斜杠会被忽略。...PathSegmentVariableNames和QueryValueVariableNames则返回路径表达式和查询字符串表达式中指定的变量名。...被绑定变量(变量名称和值)以及查询字符串参数(参数名称和值)分别通过NameValueCollection类型的属性BoundVariables和QueryParameters返回。...然后以请求消息的报头表示的Uri为参数调用UriTemplateTable的MatchSingle方法,如果该方法返回一个具体的UriTemplateMatch对象,其Data属性即为对应操作的名称...最终将创建的消息作为参数调用DispatchOperationSelector的SelectOperation方法得到正确的操作名称。

    1.1K60

    JSTL详解_jstl if else

    q escapeXml:设定是否转换特殊字符(如<、>等一些转义字符),在默认值为true的情况下直接在输出<的,如果改为false将会进行转义输出“值,将输出方法体中的字符串,否则不输出,第12行没有输出结果。 【代码解析】: (1)直接输出了一个字符串。...(4)第26~28行指定从集合的第二个(index值为1)元素开始,到第四个(index值为3)元素截止(index的值从0开始)。并指定step为2即每隔两个遍历一次。...表9-6 标签参数说明 名称 说明 EL 类型 是否必须 默认值 value 被解析的字符串 是 String 是 无 type 指定单位(数字、货币、百分比) 是 String...提示:在进行数据源配置时程序不会检查数据库连接是否配置正确,直接根据设定的数据库及连接访问,如果没有找到则抛出操作的表异常,因此要放如同时在编写程序时一定要注意数据源是否配置正确

    2K20

    Nginx输出JSON格式日志

    ,主要体现在非法json值和未转义字符串的问题 0x01 非法json值处理 [非法json值] json中key为upstream_response_time的value为-,这很明显不是一个json...通过排查发现是在Nginx中配置了301跳转,也就是说Nginx自己处理了这个请求,不再将请求向后端转发,这直接导致upstream_response_time的值为空,写入日志后,Nginx将空值替换为了...根据描述,我们在配置文件中添加一个入下的map,在$upstream_response_time为空的时候返回为0,将该值赋值给新变量$upstream_response_timer,添加之后该问题得到了处理...运行一段时间后,发现依然后很多请求未解析,查找发现日志中充斥了大量如下图的字符: [特殊字符] 很显然这是“恶意”扫描的请求,这类请求的特点是可能会包含如双引号(“)、反斜杠等在json字符串中被认为非法的字符...通过查询nginx日志,发现log\_format本身就可以对字符串进行转义,这个参数的名称是escape,这个参数本身也需要指定一个值,可以是default、json或none,很明显,我们需要指定为

    7.9K123

    《移动互联网技术》 第七章 数据存取: 掌握File、SharePreferences、SQLite和ContentProvider四种数据存取方式

    注意:quiz表中还有id这一列,并没有给它赋值,因为在前面创建表的时候已经将 id 列设置为自增长,它的值会随着行的插入自动生成,不需要手动赋值。...在query函数中,没有用Uri.parse() 函数去解析一个内容URI字符串,因为Android中的Phone类(ContactsContract.CommonDataKinds.Phone类)已经对共享资源进行了封装...SAX解析包括以下四个步骤: (1)获取XML文件对应的资源,可以是XML输入流、文件、URI和字符串; (2)获取SAX解析工厂(SAXParserFactory); (3)由解析工厂生成一个SAX解析器...uri 参数用来确定查询哪张表,其他参数与内容解析器的query函数的参数一样。 在query函数中,首先匹配要执行的动作,如果是查询,就调用数据库的查询语句,获取数据,返回游标。...android:authorities为QuizProvider类中定义的静态字符串:“pers.cnzdy.tutorial.quiz.provider”。

    9010

    HandlerMethodArgumentResolver(一):Controller方法入参自动封装器(将参数parameter解析为值)【享学Spring MVC】

    这里有个轻量级的web框架:Play Framework设计上我个人觉得还挺有意思,有兴趣的可以玩玩 HandlerMethodArgumentResolver 策略接口:用于在给定请求的上下文中将方法参数解析为参数值...(都可以指定name、required、默认值等属性) // 子类需要做如下事:获取方法参数的命名值信息、将名称解析为参数值 // 当需要参数值时处理缺少的参数值、可选地处理解析值 //特别注意的是:...Specified name must not resolve to null: [" + namedValueInfo.name + "]"); } // 模版抽象方法:将给定的参数类型和值名称解析为参数值...,就是对应注解的属性们) 根据方法参数名称name从HttpServletRequest, Http Headers, URI template variables等等中获取属性值 对arg == null...get请求如何传值数组、集合(List) 如题的这个case太常见了有木有,我们经常会遇到使用get请求向后端需要传值的需求(比如根据ids批量查询)。

    2.4K103

    Apache中 RewriteRule 规则参数介绍

    cookie的名称是NAME,值是VAL。domain是该cookie的域,比如’.apache.org’,可选的lifetime是cookie的有效期(分钟),可选的path是cookie的路径。...‘passthrough|PT'(移交给下一个处理器) 此标记强制重写引擎将内部request_rec结构中的uri字段设置为filename字段的值,这个小小的修改使得RewriteRule指令的输出能够被...‘qsappend|QSA'(追加查询字符串) 此标记强制重写引擎在已有的替换字符串中追加一个查询字符串,而不是简单的替换。如果需要通过重写规则在请求串中增加信息,就可以使用这个标记。...使用它可以把规范化的URL反馈给客户端,如将”/~”重写为”/u/”,或始终对/u/user加上斜杠,等等。 注意:在使用这个标记时,必须确保该替换字段是一个有效的URL。...}值为script_that_requires_uniquekey,将会定向到新的URL。

    12K30
    领券