2017-01-11 1 views
0

Я хотел бы сохранить свой статус Http и их сообщения в json-файле, например, состояние BadRequest может содержать 2 разных сообщения: 1. имя не может быть null, 2. имя не может быть пустым и т. Д. , но unfortunatelly Я не могу решить это, потому что IHttpActionResult требует вернуть только метод статуса, как я могу добавить пользовательское сообщение в другом случае? Я geeting ошибкуASP.NET API Как вернуть статус запроса на сообщение с помощью настраиваемого сообщения?

Не удается неявно преобразовать тип 'System.Net.Http.StringContent' в 'System.Web.Http.IHttpActionResult. Явное преобразование существует (вы недостающую бросили?) Класс Исключения:

public class ExceptionResponse 
    { 
     public HttpStatusCode ReturnCode { get; set; } 
     public string Message { get; set; } 
    } 

сообщение метод:

[HttpPost] 
    public IHttpActionResult Post([FromBody] MyRequest myCaseRequest) 
    { 
     var myObj = new MyObjCase(); 
     ExceptionResponse data = new ExceptionResponse() 
     { 
      Message = "Parameter cannont be null", 
      ReturnCode = HttpStatusCode.BadRequest 
     }; 

       string json = JsonConvert.SerializeObject(data, Formatting.Indented); 
       var jsonCont = new StringContent(json, Encoding.UTF8, "application/json"); 

       if (myObj.Name == null || myObj.Name == "") 
        // return BadRequest(); // Before 
        return jsonCont; // expecting for result 
      } 
} 

ответ

-1
CustomResponseMessage message = new CustomResponseMessage() 
{ 
    Message = "write a something" 
}; 

Request.CreateResponse(HttpStatusCode.Ok,message); 

//Custom Class 
public class CustomResponseMessage 
{ 
    public string Message{ get; set; } 
} 

Вы можете попробовать это.

+0

Тип возврата должен быть HttpResponseMessage. –

0

Вы можете попробовать использовать HttpResponseMessage. Пример here

Смежные вопросы