android - 长 Web API 路由属性除以零错误
问题描述
我正在创建一个 android 应用程序,我使用 web api 从服务器发送和接收 json 数据。我的查询之一在路由属性中包含多达 30 个参数,如下所示。结果,我尝试除以零错误。错误行是GlobalConfiguration.Configure(AddressOf Register)我在 web.condfig 文件中增加了 maxURLlength、maxQueryStringLength 和 maxRequestLength,但没有任何效果。
问题:什么会导致这个问题?每个带有特定路由属性的输出操作都在控制器中工作。
试图除以零。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.DivideByZeroException:试图除以零。
<Route("api/dtl/GetResults/{1}/{30})>
解决方案
所以我找到了我正在寻找的答案。不允许长路线,这就是为什么我得到不能除以零错误的原因。我做错事了。我需要做的就是以以下形式正确配置我的路线
<Route("api/DTL/ActionName")>
代替
<Route("api/dtl/ActionName/{}/{}/{}/{}/{}/{}/{}/{}/{}/{}/{}/{}/{Zip}")>
然后我可以通过这样的 url 调用这个动作
http://localhost:17895/api/dtl/PostCreateMember?Username=jason&Gender=Male等
所以只要我定义了模型来接受它,url就可以任意长。您可以在https://blog.scottlogic.com/2016/01/20/restful-api-with-aspnet50.html了解更多信息
推荐阅读
- database - 大学的数据库设计。数据库设计问题
- javascript - 无法访问子组件中的 class.contextType
- scala - 捕获异常对象是否安全
- django - 提交表单后如何通知超级用户更改另一个用户的类别?
- javascript - 如何布置每行指定数量的对象?
- javascript - Mxgraph - 如何禁用顶部/底部调整大小 - 左右离开?
- java - 通过插件块将 Gradle 插件应用于子项目和根项目
- java - Apache Ignite 以编程方式销毁持久缓存
- html - Html 元素没有通过绝对定位和内部 flexbox 占据其全部宽度
- javascript - 当用户决定更新他的个人资料信息时,我应该如何处理 JWT 令牌?