如何使用字符串参数?

时间:2015-04-25 11:27:36

标签: asp.net-web-api entity-framework-6

我目前有一个使用EF6的web api Get方法,它接受一个名为serial的int参数。我希望从URI中找到extserial而不是主键序列。

这是我在哪里获得localhost / api / AH?serial = 1

// GET api/AH/5
        [ResponseType(typeof(Transmital))]
        public IHttpActionResult GetTransmital(int Serial)
        {
            Transmital transmital = db.Transmitals.Find(Serial);
            if (transmital == null)
            {
                return NotFound();
            }

            return Ok(transmital);
        }

我需要通过localhost / api / AH获取它吗?ExtSerial = ABC123

由于某种原因,它不会采取以下

// GET api/AH/5
        [ResponseType(typeof(Transmital))]
        public IHttpActionResult GetTransmital(string ExtSerial) //or [FromUri]string ExtSerial
        {
            Transmital transmital = db.Transmitals.Find(ExtSerial);
            if (transmital == null)
            {
                return NotFound();
            }

            return Ok(transmital);
        }

1 个答案:

答案 0 :(得分:0)

您应该使用IHttpActionResult接口。

试试这个:

public IHttpActionResult GetTransmitalsExtSerial([FromUri] string ExtSerial)
        {
            //return Ok(ExtSerial.ToString());
            return Ok(db.Transmitals.Where(exs => exs.ExtSerial == ExtSerial));
        }