邮递员将包含正斜杠的字符串发送到web api get方法

时间:2018-01-24 09:17:23

标签: .net web-services special-characters query-string postman

我有以下web api方法:

<GridColumn cell={this.CommandCell} />
...
class DropDownCell extends GridCell {
//...
handleChange(e) {
    this.props.onChange({
        dataItem: this.props.dataItem,
        field: this.props.field,
        syntheticEvent: e.syntheticEvent,
        value: e.target.value
    });
}
//...
render() {
    const value = this.props.dataItem[this.props.field];

    if (this.props.dataItem.inEdit) {
    return (
        <td>
            <DropDownList
                //...
            />
        </td>
    );
}

我需要将带有特殊字符的字符串传递给web api方法。我从邮递员那里尝试过以下但是没有一个可以工作。具体来说,我需要将URL传递给该方法。我发现它有正斜杠的问题。

(1)这有效:http://localhost:1234/api/MyController/MyMethod/hello

(2)这显然不起作用:http://localhost:1234/api/MyController/MyMethod/https://www.google.com

(3)正常但正斜杠不会出现在方法的输入参数中。只有&#34; http:&#34;。

[HttpGet("{param}")]
public IEnumerable<ResultItem> MyMethod(string param)

(4)不起作用。是的,奇怪的是,在正斜杠之后添加一个字符后根本没有达到该方法。 Fiddler显示HTTP / 1.1 404 Not Found。     http://localhost:1234/api/MyController/MyMethod/http:/a     http://localhost:1234/api/MyController/MyMethod/http://a     http://localhost:1234/api/MyController/MyMethod/http:%2Fa     http://localhost:1234/api/MyController/MyMethod/http:%2F%2Fa

感谢任何建议和见解。谢谢!

0 个答案:

没有答案