首页
学习
活动
专区
圈层
工具
发布

Asp.Net Web API(三)

“{category}”片段将赋成了默认值“all”。  Route Dictionary(路由字段)      如果这个框架发现了一个匹配的URI,它会创建包含每个占位符值的字典。...,路由字典将含有:controller:"product",category:"toys" 这个默认值也可以包含未出现的路由模板中的值。...在这种背景下,Action选择算法如下 创建该控制器中与HTTP请求方法匹配的所有Action的列表 如果路由字典有Action条目,移除与该条目值不匹配的Action 试图将Action参数与该URI...对于来自URI的参数,我们希望确保URI在其路径(通过路由字典)或查询字符串中实际包含一个用于此参数的值。    ...因此,这个Action只能匹配在路由字典或查询字符串包含了id值的URI    可选参数是一个例外,因为它们是可选的。对于可选参数,如果绑定不能通过URI获取它的值,是没关系的。

2.4K50

Asp.Net Web API 2第六课——Web API路由和动作选择

在Web API中,通常的约定是忽略“{action}”的。 Defaults(默认值) 如果你提供默认值,那么这个路由将匹配缺少这些片段的URI。...} ); 对于URI路径“api/products”,路由字典将含有:controller:"products"、category:"all"。...controller = "customers", id = RouteParameter.Optional } ); 如果URI路径是“api/root/8”,字典将含有两个值:controller...其基本思想是,可以从URI、或请求体、或一个自定义绑定来获取参数值。对于来自URI的参数,我们希望确保URI在其路径(通过路由字典)或查询字符串中实际包含了一个用于此参数的值。...例如,考虑以下动作: public void Get(int id) 其id参数绑定到URI。因此,这个动作只能匹配在路由字典或查询字符串中包含了“id”值的URI。

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

    Elasticsearch文档和映射

    脚本还可用于修改字段或执行更复杂的操作,例如,如果要添加具有默认值的不存在的字段,然后根据一系列条件更新现有值。...回复朦胧:当映射不清楚时 Elasticsearch用户在映射文档后遇到的最常见问题是映射冲突。当映射值在同一索引中具有不同类型时,会发生映射冲突。这是怎么发生的?...因此,当您定义映射时,您需要已经知道您的字段定义。这是一个很高的订单,特别是因为更改需求经常导致发送到Elasticsearch的数据发生更改 - 因此需要您更新映射。...那么,如果您需要将先前定义为整数的字段更新为字符串,会发生什么?你猜对了:映射冲突。 那么如何解决这些映射冲突呢?重新编制。在后一种情况下,您应该在需要更新现有字段定义时重新索引数据。为什么?...,正如响应者指出的那样,他们发送了无效的JSON。

    2.3K10

    JS中encodeURI,escape,encodeURIComponent区别

    encodeURI 方法 将文本字符串编码为一个有效的统一资源标识符 (URI)。 encodeURI(URIString) 必选的 URIString 参数代表一个已编码的 URI。...说明 encodeURI 方法返回一个编码的 URI。如果您将编码结果传递给 decodeURI,那么将返回初始的字符串。...encodeURIComponent 方法 将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。...说明 encodeURIComponent 方法返回一个已编码的 URI。如果您将编码结果传递给 decodeURIComponent,那么将返回初始的字符串。...这样一来,当该编码结 果被作为请求发送到 web 服务器时将是无效的。如果字符串中包含不止一个 URI 组件,请使用 encodeURI 方法进行编码。

    4K81

    从0开始构建一个Oauth2Server服务 AccessToken

    此请求将发送到令牌端点。 请求参数 访问令牌请求将包含以下参数。 grant_type(必需的) 该grant_type参数必须设置为“authorization_code”。...令牌请求中的重定向 URI 必须与生成授权代码时使用的重定向 URI 完全匹配。否则服务必须拒绝请求。...这是用于计算先前在code_challenge参数中发送的哈希值的明文字符串。...invalid_scope– 对于包含范围(密码或 client_credentials 授权)的访问令牌请求,此错误表示请求中的范围值无效。...参数error_description只能是ASCII字符,最多只能是一两句话描述错误的情况。这error_uri是链接到您的 API 文档以获取有关如何更正遇到的特定错误的信息的好地方。

    2.1K50

    MongoDB 备份与恢复

    向 password: 字段指定密码并在 uri: 字段中提供包含冲突密码的连接字符串将导致错误。...无论是使用 --uri 选项还是作为位置参数,尝试纳入多个连接字符串都会导致错误。有关连接字符串组件的信息,请参阅连接字符串 URI 格式文档。...向 password: 字段指定密码并在 uri: 字段中提供包含冲突密码的连接字符串将导致错误。...无论是使用 --uri 选项还是作为位置参数,尝试纳入多个连接字符串都会导致错误。有关连接字符串组件的信息,请参阅连接字符串 URI 格式文档。...删除相应的 mongodump 输出中指定的任何无效索引选项,并重写所有旧版索引键值以使用有效值。无效索引选项 是为索引指定的任何选项,但未列为 命令的 有效字段 createIndexes。

    2.4K10

    OAuth 2.0身份验证

    :包含客户端应用程序唯一标识符的强制参数,当客户机应用程序向OAuth服务注册时,会生成此值 redirect_uri:将授权代码发送到客户端应用程序时,应重定向用户浏览器的URI,这也称为"callback...在审核OAuth流时,应该尝试使用redirect_uri参数来了解它是如何被验证的,例如: 一些实现只检查字符串是否以正确的字符序列(即已批准的域)开始,从而允许一系列子目录,您应该尝试删除或添加任意路径...、查询参数和片段,以查看可以在不触发错误的情况下进行哪些更改 如果可以将额外的值附加到默认的redirect_uri参数,那么就可以利用OAuth服务的不同组件对uri的解析之间的差异,例如您可以尝试以下技术...到了这个阶段,您应该对URI的哪些部分可以进行篡改有了比较好的了解,现在的关键是使用这些知识来尝试访问客户端应用程序本身中更广泛的攻击面,换句话说,尝试确定是否可以将redirect_uri参数更改为指向白名单域上的任何其他页面...当尝试获取此图像时,某些浏览器(如Firefox)将在请求的Referer头中发送完整的URL,包括查询字符串。

    4.8K10

    JavaScript中的编码函数

    编码函数有三个: escape、encodeURI、encodeURIComponent 主要区别: 非URI编码 :escape仅对String对象编码,不能用来对统一资源标示码URI进行编码 URI...编码 :encodeURI、encodeURIComponent encodeURI 与 encodeURIComponent 的区别 encodeURI 方法返回一个编码的 URI,encodeURI...如果需要对这些进行编码则需要使用encodeURIComponent方法 encodeURIComponent 方法对所有的字符编码,如果该字符串代表一个路径,例如 /folder1/folder2/default.html...当该编码结果被作为请求发送到 web 服务器时将是无效的,如果字符串中包含不止一个 URI 组件,请使用 encodeURI 方法进行编码。...使用encodeURIComponent 对一个url地址转码得到如下的编码后的字符串: ?

    2.4K20

    别再手写 URL 解析器了:PHP 8.5 URI 扩展让 URL 处理更安全、更干净

    PHP8.5提供了一个内置替代方案:一个始终可用的URI扩展,提供API来按照RFC3986和WHATWGURL标准解析、修改URL/URI。...更糟的是:团队往往混用:有些地方用解码后的值,有些地方用原始值,再加上散落在各处的临时解码逻辑。这种混乱很容易埋下隐蔽bug和安全隐患。...构造函数抛异常;parse()返回null两个实现都支持两种解析风格:构造函数:无效时抛异常parse():无效时返回nullRFC3986行为:展开代码语言:PHPAI代码解释useUriURI扩展的价值不止于API设计——它让你能控制URL的表示形式。...重复编码"陷阱(以及新API如何帮忙)重复编码通常这样发生:你用rawurlencode()编码一个值,因为"它要放进URL"你手动把它加到querystring后来某处又编码了一次(框架、代理、客户端

    7800

    Nginx4大模块——proxy、headers、upstream、stream

    当关闭缓冲时,收到响应后,nginx立即将其同步传给客户端。nginx不会尝试从被代理的服务器读取整个请求,而是将proxy_buffer_size指令设定的大小作为一次读取的最大长度。   ...如果是代理到后端是使用upstream,那么这个指令就是指定在何种情况下,一个失败的请求应该被发送到下一台后端服务器,有如下指令:   error – 和后端服务器建立连接时,或者向后端服务器发送请求时...限制了重试请求可以被传递给下一台服务器的时间,默认值为0将关闭这一限制。...限制了重试请求可以被传递给下一台服务器的次数,默认值为0将关闭这一限制。...,根据其权重值,将请求发送到活跃连接数最少的那台服务器。

    2.8K31

    Java 编程问题:十三、HTTP 客户端和 WebSocket API

    但是,我们可以尝试编写一个辅助方法,将URLEncoder.encode()方法隐藏在查询参数集合的循环中,也可以依赖 URI 生成器。...258 设置重定向策略 当我们尝试访问移动到其他 URI 的资源时,服务器将返回一个范围为3xx的 HTTP 状态码,以及有关新 URI 的信息。...(URI.create("https://reqres.in/api/users/2")) .build(); 下面的部分将介绍如何处理不同类型的响应体 将响应体作为字符串处理 将正文响应作为字符串处理可以使用...然而,我们习惯于将 JSON 数据表示为 Java 对象(POJO),并在需要时依赖于 JSON 和 Java 之间的转换。我们可以为我们的问题编写一个解决方案,而不涉及 HTTP 客户端 API。...或者,我们可以通过ofFile()将推送的资源发送到磁盘,如下面的解决方案所示,这是前面解决方案的一个改编版本: private static final ConcurrentMap<HttpRequest

    7.5K21

    「微服务架构」部署NGINX Plus作为API网关,第1部分

    每种API最合适的方法取决于API的安全要求以及后端服务是否需要处理无效的URI。...这具有保护后端服务免于格式错误的客户端请求的优点,代价是正常表达式匹配的一些小额外开销。有了这个配置,NGINX Plus接受一些URI并拒绝其他URI无效: ?...} 动态重写URI意味着当我们最终在第26行代理请求时,我们不能再使用$ request_uri变量(正如我们在warehouse_api_simple.conf的第21行所做的那样)。...回应错误 HTTP API和基于浏览器的流量之间的主要区别之一是如何将错误传达给客户端。当NGINX Plus作为API网关部署时,我们将其配置为以最适合API客户端的方式返回错误。...第23行处理API键与地图块中的任何键都不匹配的情况 - 在这种情况下,api_keys.conf第2行的默认参数将$ api_client_name设置为空字符串 - 我们发送403响应告诉身份验证失败的客户端

    2.4K21

    Http请求URL长度限制

    A server SHOULD return 414 (Request-URI Too Long) status if a URI is longer than the server can...翻译: HTTP协议不对URI的长度作事先的限制,服务器必须能够处理任何他们提供资源的URI,并且应该能够处理无限长度的URIs,这种无效长度的URL可能会在客户端以基于GET方式的请求时产生...如果服务器不能处理太长的URI的时候,服务器应该返回414状态码(此状态码代表Request-URI太长)。...注:服务器在依赖大于255字节的URI时应谨慎,因为一些旧的客户或代理实现可能不支持这些长度。...协议中未明确对url进行长度限制,但在真正实现中,url的长度还是受到限制的,一是服务器端的限制,二就是浏览器端的限制。

    4.6K30

    MCP规范完整中译稿:2025-3-26版

    服务器可以将 utf-8 字符串写入其标准错误 (stderr) ,以便记日志。客户端可以捕获、转发或忽略此日志记录。 服务器不能写入任何非有效 MCP 消息的标准输出。...客户端必须使用HTTP POST 将 JSON-RPC 消息发送到 MCP 端点。.../token https://api.example.com/register 客户端必须首先尝试通过元数据文档发现端点,然后再回到默认路径。...服务器应该: 提供稳定的游标 优雅地处理无效游标 2. 客户应该 将缺少的 nextCursor 视为结果的末尾 支持分页和非分页的流 3....客户端必须将游标视为不透明的令牌: 不要对游标的格式做任何假设 不要尝试解析或修改游标 不要跨会话持久化游标  #### 6.5.3.7 错误处理 无效的游标应导致代码 -32602 错误 (Invalid

    4.5K11

    从协议入手,剖析OAuth2.0(译 RFC 6749)

    刷新令牌代表资源所有者对客户端给予授权许可的字符串,通过对客户端不透明。令牌表示用于检索授权信息的标识符。与访问令牌不同,刷新令牌仅用于授权服务器,且从不发送到资源服务器。...同样的,授权服务器也是用“scope”响应参数来表示颁发给客户端的访问令牌的范围。“scope”参数的值表示为空格分隔的、区分大小写的字符串的列表。该字符串由授权服务器定义。            ...如果请求客户端认证失败或者无效,授权服务器将返回错误的响应。              ...如果请求客户端认证失败或者无效,授权服务器将返回错误的响应。              ...如果请求客户端认证失败或者无效,授权服务器将返回错误的响应。

    6.1K20
    领券