.net Web API 2服务-当需要模型对象时,如何返回错误消息?

.net Web API 2服务-当需要模型对象时,如何返回错误消息?,.net,vb.net,controller,asp.net-web-api2,.net,Vb.net,Controller,Asp.net Web Api2,因此,我在控制器中创建了一个GetValues函数,以返回demoModel的实例,这是一个复杂的模型类 当返回一个成功的数据集时,这可以正常工作。但是,如果某些内容无法验证,当函数需要demoModel对象时,如何将消息发送回调用方 以下是控制器代码: Namespace Controllers Public Class GetMyData Inherits ApiController 'Note always expect 3 values comi

因此,我在控制器中创建了一个
GetValues
函数,以返回
demoModel
的实例,这是一个复杂的模型类

当返回一个成功的数据集时,这可以正常工作。但是,如果某些内容无法验证,当函数需要
demoModel
对象时,如何将消息发送回调用方

以下是控制器代码:

Namespace Controllers
    Public Class GetMyData
        Inherits ApiController

        'Note always expect 3 values coming in per the WebApiConfig
        Public Function GetValues(ByVal age As String, ByVal state As String, ByVal country As String) As demoModel 

            Dim dm As New demoModel()
            Dim myData As New createDemoData

            dm = myData.getTotalData(age,state,country)
            If Not dm.dataisvalid then
                'TODO Send Error message to the user   
            End If

            Return dm

        End Function

    End Class
End Namespace

只需返回一个请求:

..
            If Not dm.dataisvalid then
                return BadRequest("Your error message")
            End If

            Return Ok(dm) 'need to wrap this with Ok

只需返回一个请求:

..
            If Not dm.dataisvalid then
                return BadRequest("Your error message")
            End If

            Return Ok(dm) 'need to wrap this with Ok

将函数返回类型从模型更改为
ihttpactionresult

命名空间控制器
公共类GetMyData
继承ApiController
作为IHttpActionResult的公共函数GetValues(ByVal年龄作为字符串,ByVal状态作为字符串,ByVal国家作为字符串)
Dim dm作为新的演示模型()
将myData设置为新的createDemoData
dm=myData.getTotalData(年龄、州、国家)
如果dm.dataisvalid无效,则
return-BadRequest(“向调用者返回无效数据消息”)
如果结束
Return Ok(dm)'返回Ok(200)响应,您的模型位于车身中
端函数
末级
结束命名空间
调用函数时,响应消息的有效负载中将包含必要的上下文信息


请继续阅读,了解有关操作结果的更多详细信息

将函数返回类型从您的模型更改为
IHTTPactionResult

命名空间控制器
公共类GetMyData
继承ApiController
作为IHttpActionResult的公共函数GetValues(ByVal年龄作为字符串,ByVal状态作为字符串,ByVal国家作为字符串)
Dim dm作为新的演示模型()
将myData设置为新的createDemoData
dm=myData.getTotalData(年龄、州、国家)
如果dm.dataisvalid无效,则
return-BadRequest(“向调用者返回无效数据消息”)
如果结束
Return Ok(dm)'返回Ok(200)响应,您的模型位于车身中
端函数
末级
结束命名空间
调用函数时,响应消息的有效负载中将包含必要的上下文信息


请继续阅读以了解有关操作结果的更多详细信息

我尝试了此操作,但收到一条错误消息:“BadRequestErrorMessageResult”类型的值无法转换为demoModel。预期的返回类型为demoModel我尝试了此操作,但收到一条错误消息:“BadRequestErrorMessageResult”类型的值无法转换为demoModel。预期的返回类型是DemoModel这是我缺少的。这很好用,谢谢你的链接。这就是我错过的。这很好用,谢谢你的链接。