C# RESTWebAPI返回类型的最佳实践

C# RESTWebAPI返回类型的最佳实践,c#,web-services,rest,asp.net-web-api,C#,Web Services,Rest,Asp.net Web Api,我有一个getrestapi,它将返回json格式的对象列表 RESTAPI的返回类型的最佳实践是什么 我应该用哪一个?谢谢 public HttpResponseMessage MyGetMethod(int acctId, string userId) or public HttpMyObjectResponse MyGetMethod(int acctId, string userId) 一般来说,HttpResponseMessage更好,因为您可以在响应中设置状态代码、添加额外的标

我有一个getrestapi,它将返回json格式的对象列表

RESTAPI的返回类型的最佳实践是什么

我应该用哪一个?谢谢

public HttpResponseMessage MyGetMethod(int acctId, string userId)
or 
public HttpMyObjectResponse MyGetMethod(int acctId, string userId)

一般来说,
HttpResponseMessage
更好,因为您可以在响应中设置状态代码、添加额外的标题等

假设传入的
userId
不存在。然后你可以做类似的事情


return Request.CreateErrorResponse(HttpStatusCode.BadRequest,“该用户不存在”)

这对我来说确实是个问题。你们能给我指一些医生吗。我正在搜索stackoverflow。不知道它应该是什么,但当我对此感兴趣时,我使用了HttpResponseMessage,因为我不仅要返回数据,还要返回HTTP状态码(我的示例)谢谢。但是如果我想返回一些不是任何HttpStatusCode的代码呢实际上,您不应该返回非标准http代码。一般来说,你应该只使用其中的一部分。谢谢。但如果我想返回一些不是任何HttpStatusCode的代码,例如1234,“用户不存在”,该怎么办。我的想法是从HttpStatusCode中创建另一个类。这条路对吗?谢谢如果您返回的状态不是HTTP状态代码,那么没有客户机会理解到底发生了什么,因为您不会遵守HTTP标准。每个请求都需要响应。如果需要,可以返回一个对象(序列化为JSON)作为响应,而不是字符串,该对象可以包含任何内容。