如何解决通过包含德国变音符的REST调用创建项目的Azure DevOps问题
我有一个管理脚本,该脚本通过对REST API的调用来创建Azure DevOps项目。只要name或description参数不包含特殊字符,此方法就可以正常工作。例如,如果描述中包含德国变音符号,则通话会失败。
这有效:
curl -k -D- -X POST -d '{"name":"Phantom","capabilities":{"processTemplate":{"templateTypeId":"6b724908-ef14-45cf-84f8-768b5384da45"},"versioncontrol":{"sourceControlType":"Git"}},"visibility":"private","description":"Innocent description without umlauts"}' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: Basic secretauthorizationtoken=' https://dev.azure.com/AdminPlayground/_apis/projects?api-version=6.0-preview.4
这引发一个异常:
curl -k -D- -X POST -d '{"name":"Phantom","description":"Funny description with strange äöüß chars"}' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: Basic secretauthorizationtoken=' https://dev.azure.com/AdminPlayground/_apis/projects?api-version=6.0-preview.4
例外是:
{"$id":"1","innerException":null,"message":"Value cannot be null.\r\nParameter name: projectToCreate","typeName":"System.ArgumentNullException,mscorlib","typeKey":"ArgumentNullException","errorCode":0,"eventId":0}
是否有人经历过类似的行为,也许可以提出解决方案? 谢谢!
解决方法
此问题是由于描述中的特殊字符引起的数据格式问题。
请检查是否可以通过在-ContentType
中添加正确的编码格式来解决该问题,
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。