2015-12-28 4 views
1

Я пытаюсь создать HttpPost для создания сущности, и я хочу вернуть 201, созданный с заголовком местоположения, установленным на https://mysite/api/entity/1. Я не могу понять, как это сделать, возвращая IActionResult.Как использовать ASP.Net 5 CreatedAtAction

Назвав его как этот

return CreatedAtAction("Get", new { id = entity.Id }, "/{id}"); 

Я получаю https://mysite/api/entity?id=11

Я не могу понять, как получить то, что я хочу.

ответ

1

Я назначаю имя маршрута действию Get и ссылаюсь на него по имени, чтобы сделать эту работу. Например:

// GET api/values/5 
    [HttpGet("{id}", Name="GetAction")] 
    public string Get(int id) 
    { 
     return "value"; 
    } 

    // POST api/values 
    [HttpPost] 
    public IActionResult Post([FromBody]string value) 
    { 
     return this.CreatedAtRoute(
      "GetAction", new { id = 5 }, new { id = 5 }); 
    } 
+0

Спасибо Роберто, я постараюсь, что завтра –

+0

вы можете также использовать - CreatedAtAction ("<< ExactMethodNameofGetCall >>", новый {идентификатор = entity.Id}, лицо); – AnandShanbhag

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