标签: http-parameters

使用一长串查询参数设计RESTful查询API

因此,我需要设计一个RESTful查询API,它基于一些过滤器返回一组对象.通常的HTTP方法是GET.唯一的问题是,它可以拥有至少十几个过滤器,如果我们将所有这些过滤器作为查询参数传递,则URL可能会变得很长(足够长以被某些防火墙阻止).

减少参数数量不是一种选择.

我能想到的另一种选择是在URI上使用POST方法并将过滤器作为POST主体的一部分发送.这是不是RESTfull(对查询数据进行POST调用).

有没有更好的设计建议?

谢谢

api rest http-parameters

137
推荐指数
3
解决办法
7万
查看次数

HTTP参数和HTTP标头有什么区别?

我读了这个问题,但它没有回答我的问题.

对我来说,标题和参数都是字典,区别在于标题是[String : String]参数是什么[String : AnyObject]?,所以如果您的参数也是字符串,那么您可以在标题内发送它们(同时使用'x-'前缀表示它们不是标准标题)这是一种常见但不好的做法.

  • 那是对的吗?
  • headers和之间还有其他区别parameters吗?
  • 你要发送什么样的其他非String类型parameters

Alamofire Request方法

public func request(
        method: Method,
        _ URLString: URLStringConvertible,
          parameters: [String: AnyObject]? = nil,
          encoding: ParameterEncoding = .URL,
          headers: [String: String]? = nil)
        -> Request
    {
        return Manager.sharedInstance.request(
            method,
            URLString,
            parameters: parameters,
            encoding: encoding,
            headers: headers
        )
    }
Run Code Online (Sandbox Code Playgroud)

作为一个例子,我看到人们["x-ios-version" : UIDevice.currentDevice().systemVersion]通过标题传递或构建版本

http httprequest http-headers http-parameters swift

8
推荐指数
2
解决办法
9902
查看次数

HTTP 参数名称中的下划线与破折号

我熟悉在 URL 路径中使用连字符分隔单词的约定。参数名称如何,例如在 a 中<form>

<form>
  <input name="my_special_field">
</form>
Run Code Online (Sandbox Code Playgroud)

那更好还是my-special-field?我见过谷歌在分析中使用下划线utm_campaign和其他参数名称。下划线读起来会好一些,并且允许在名称 ( field_for_5-16-17) 中偶尔使用连字符。但是连字符肯定是 URL 路径的约定。

在 HTTP 参数名称中分隔单词的约定是什么?

forms http url-parameters web http-parameters

4
推荐指数
1
解决办法
6833
查看次数

使用 HttpParams 和 FromObject 有条件地添加参数并使用变量作为键名

有没有办法使用 HttpParams 和 fromObject 有条件地添加参数?我尝试在实例化 HttpParams 后添加条件参数,但这不起作用:

const params = new HttpParams({
  fromObject : {
    requiredParam: 'requiredParam'
  }
});

if (addOptionalParam)
      params.append('optionalParamKey', 'optionalParamValue');
Run Code Online (Sandbox Code Playgroud)

另外,我可以使用常量变量作为 fromObject 参数的键吗?我试过这个,但它不起作用:

  const ConstantVariableForKeyName = 'key';
  const params = new HttpParams({
  fromObject : {
    {{ConstantVariableForKeyName}}: 'paramValue'
  }
});
Run Code Online (Sandbox Code Playgroud)

http-parameters angular angular-httpclient angular6

4
推荐指数
1
解决办法
1801
查看次数

未设置Angular 5 HttpParams

我有Thins非常简单的功能:

createParams(paramsArray, withToken: boolean): HttpParams {
    let params = new HttpParams();
    let currentUser = JSON.parse(localStorage.getItem('currentUser'));
    params.set('access_token', JSON.stringify(currentUser.token));
    return params;
}
Run Code Online (Sandbox Code Playgroud)

当我调试此params变量不包含任何键或值:

在此处输入图片说明

我究竟做错了什么?

http-parameters angular

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