标签: query-parameters

何时使用asp.net mvc使用路由规则vs查询字符串参数

我们正在考虑推进ASP.NET MVC项目,并提出了路由与参数的主题.

看看如何在ASP.NET MVC中轻松设置其中任何一个或两者的组合,在使用其中一个时,我应该注意哪些注意事项?

asp.net-mvc asp.net-mvc-routing query-parameters

7
推荐指数
2
解决办法
3600
查看次数

数据类型$ 1 vs. coalesce($ 1)

此语句不适用于PostgreSQL 8.2.4和PHP 5.2.17:

 pg_query_params('SELECT $1', array(1));
 ERROR: could not determine data type of parameter $1 
Run Code Online (Sandbox Code Playgroud)

很公平.这是一个可能的解决方案:

 pg_query_params('SELECT CAST($1 AS INTEGER)', array(1));
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为我们明确了解数据类型.

但是下面的语句也有效,尽管它应该等同于第一个表达式:

 pg_query_params('SELECT COALESCE($1)', array(1));
Run Code Online (Sandbox Code Playgroud)

为什么?是否COALESCE以某种方式修改$ 1的数据类型,或保证一些简单数据类型的结果?

编辑:文档在主题上相当短COALESCE.

php postgresql query-parameters

7
推荐指数
1
解决办法
565
查看次数

这个Ruby参数约定来自哪里?

Rails和其他框架使用了一块Ruby中间件来解析您发送到服务器的参数到嵌套Hash对象中.

如果将这些参数发送到服务器:

person[id] = 1
person[name] = Joe Blow
person[email] = joe.blow@test.com
person[address][street_address] = 123 Somewhere St.
person[address][city] = Chicago
person[address][zip] = 12345
person[other_field][] = 1
person[other_field][] = 2
person[other_field][] = 3
Run Code Online (Sandbox Code Playgroud)

他们被解析为:

{
  :person => {
    :id => "1",
    :name => "Joe Blow",
    :email => "joe.blow@test.com",
    :address => {
      :street_address => "123 Somewhere St.",
      :city => "Chicago",
      :state => "IL",
      :zip => "12345"
    },
    :other_field => [ 1, 2, 3 ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我相信PHP也支持这一点.任何人都可以告诉我这个约定叫什么,它来自哪里,以及其他语言支持它?(Perl,Python等)

ruby middleware conventions query-parameters

7
推荐指数
1
解决办法
678
查看次数

是否传递查询字符串参数(其值为null)而没有等号有效?

变化1:

 file.jsp?parameter1=&parameter2=abc
Run Code Online (Sandbox Code Playgroud)

变化2:

 file.jsp?parameter1&parameter2=abc
Run Code Online (Sandbox Code Playgroud)

我知道Variation 1被认为是有效的,但变体2被认为是有效的吗?具体来说,参数没有值,在这种情况下是否需要等号?

url http query-parameters

7
推荐指数
1
解决办法
6357
查看次数

关闭Ember.js中的粘性查询参数

我找到了一个说明我问题的jsbin.http://emberjs.jsbin.com/ucanam/2708.

最后一个链接,在链接到没有设置显式查询参数的情况下,它使用控制器上的当前粘滞查询参数值.有没有办法关闭这个粘性功能?会这样做会打破其他情况吗?

我目前的解决方案是在我想要清除的每条路线上清空查询参数:

export default Ember.Route.extend({
  deactivate: function() {
    var controller = this.controllerFor(this.get('controllerName'));
    var queryParams = controller.get('queryParams');
    for (var i = 0; i < queryParams.length; i++)
      controller.set(queryParams[i], null);
  }
});
Run Code Online (Sandbox Code Playgroud)

这有效,但似乎应该有一个更简单的方法.

我应该注意,{{#link-to 'route' (query-params val=null)}}{{/link-to}}为每条路径做一些事情不是一个选择,因为我有一些可重用的代码,其中路由是一个变量,所以我不知道查询参数我必须为null.

编辑:

如果答案中的文档发生变化,这是正确的方法:

export default Ember.Route.extend({
  resetController: function(controller, isExiting) {
    if (isExiting) {
      var queryParams = controller.get('queryParams');
      for (var i = 0; i < queryParams.length; i++)
        controller.set(queryParams[i], null);
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

编辑2:

现在通过这个插件https://github.com/kellyselden/ember-query-params-reset很容易做到这一点.它还会重置为原始值,而不仅仅是将值清零.

javascript query-parameters ember.js

7
推荐指数
1
解决办法
5408
查看次数

如何在SQLite查询中使用带有参数的Like运算符?

通过在LINQPad中输入,我可以得到我期望的结果:

SELECT * FROM WorkTable WHERE WTName LIKE "DSD__20090410014953000%"
Run Code Online (Sandbox Code Playgroud)

(它显示了WTName值为DSD__20090410014953000.xml的记录")

但尝试以编程方式执行此操作正在尝试.我试过了:

const string qry = "SELECT SiteNum FROM WorkTable WHERE WTName LIKE @wtName%";
using (SQLiteConnection con = new SQLiteConnection(HHSUtils.GetDBConnection()))
{
    con.Open();
    SQLiteCommand cmd = new SQLiteCommand(qry, con);
    cmd.Parameters.Add(new SQLiteParameter("wtName", tableName));
    siteNum = Convert.ToInt32(cmd.ExecuteScalar());
}
Run Code Online (Sandbox Code Playgroud)

...但它会导致应用程序崩溃,我的日志文件告诉我原因:

Message: From application-wide exception handler: System.Data.SQLite.SQLiteException: SQL logic error or missing database
near "%": syntax error
Run Code Online (Sandbox Code Playgroud)

所以也许它认为查询参数被命名为"wtName%"而不是"wtName"; 但是将参数和"what"opertor("%")与空格分开也不起作用.

我可以通过将查询参数嵌入到字符串中来实现retro/kludgy,如下所示:

const string qry = String.Format("SELECT SiteNum FROM WorkTable WHERE WTName LIKE {0}%", tableName);
Run Code Online (Sandbox Code Playgroud)

...和做没有查询参数完全,但我怕如果我这样做,特洛伊·亨特将在我的房子出现了,与床栏枷我而责骂SQL注入. …

c# sqlite sql-injection query-parameters sql-like

7
推荐指数
2
解决办法
3894
查看次数

在swagger文档中使用对象类型查询参数

我有一个GET路由,我想在url中将对象参数编码为查询字符串.

在编写swagger文档时,我基本上会遇到错误,不允许我在类型参数中使用schema/ objecttypes query:

paths:
  /mypath/:
    get:
      parameters
        - in: path
          name: someParam
          description: some param that works
          required: true
          type: string
          format: timeuuid #good param, works well
        - $ref: "#/parameters/mySortingParam" #this yields an error

parameters:
  mySortingParam
    name: paging
    in: query
    description: Holds various paging attributes
    required: false
    schema:
      type: object
      properties:
        pageSize:
          type: number
        cursor:
          type: object
          properties:
            after:
              type: string
              format: string
Run Code Online (Sandbox Code Playgroud)

具有对象值的请求查询参数将被编码在实际请求中.

即使swagger在屏幕顶部显示错误,也会在swagger UI编辑器中正确呈现对象,但是错误会浮动在文档的顶部.

query-parameters swagger swagger-ui

7
推荐指数
2
解决办法
1万
查看次数

HTTP 404与400的无效查询参数

这是我的请求网址:

http://server.com/app/user/getuser/?userId=9999

注意,这userId是查询参数。未嵌入的路径参数。

我了解如果请求URL为:http : //server.com/app/user/getuser/9999并且ID 9999在数据库中不存在,则应使用404。

但是userId查询参数应使用哪种HTTP状态?现在我返回的是400,而不是404。

query-parameters http-status http-status-code-404 http-status-code-400

7
推荐指数
1
解决办法
2731
查看次数

如何访问蒸汽中的查询参数3

基本上是标题.我想知道如何在Vapor 3中使用url查询参数.我似乎无法在文档中找到任何内容.

例如/objects?fancy=true,我如何访问fancy参数.

rest query-parameters swift vapor

7
推荐指数
1
解决办法
1634
查看次数

encodeURIComponent 与 URLSearchParams 的不同输出

我使用URLSearchParmasAPI构建了一个带有查询参数的 oauth2 url 。但是,输出 URL 没有返回预期的 URL。任何人都可以帮助我理解这两个API之间的差异,我怎么能得到相同的结果的输出encodeURIComponent,使用URLSearchParams?谢谢!

const expected = encodeURIComponent('code id_token'); // code%20id_token

const search = new URLSearchParams();
search.set('response_type', 'code id_token');
search.toString(); // code+id_token
Run Code Online (Sandbox Code Playgroud)

url query-parameters oauth-2.0

6
推荐指数
1
解决办法
1288
查看次数