Asp.net mvc 4 为什么返回xml而不是值?

Asp.net mvc 4 为什么返回xml而不是值?,asp.net-mvc-4,Asp.net Mvc 4,如何将样式信息添加到从web服务返回的xml中 例如: public class ServiceController : ApiController { // GET api/service public IEnumerable<string> Get() { return new string[] { "value1", "value2" }; } // GET api

如何将样式信息添加到从web服务返回的xml中

例如:

public class ServiceController : ApiController
    {
        // GET api/service
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/service/5
        public string Get(int id)
        {
            return "value";
        }

        // POST api/service
        public void Post([FromBody]string value)
        {
        }

        // PUT api/service/5
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE api/service/5
        public void Delete(int id)
        {
        }
    }
公共类服务控制器:ApiController
{
//获取api/服务
公共IEnumerable Get()
{
返回新字符串[]{“value1”,“value2”};
}
//获取api/service/5
公共字符串Get(int-id)
{
返回“值”;
}
//邮政api/服务
公共作废帖子([FromBody]字符串值)
{
}
//将api/service/5
公共void Put(int id,[FromBody]字符串值)
{
}
//删除api/service/5
公共无效删除(int-id)
{
}
}
此XML文件似乎没有任何与之关联的样式信息。文档树如下所示

<ArrayOfstring><string>value1</string><string>value2</string></ArrayOfstring>
value1value2
我正在使用url: http:/api/Service


为什么返回xml文件?

这是因为当您在浏览器中键入http:/api/Service时,Web api对http谓词起作用。您将调用的第一个方法是获取返回字符串的IEnumerable的位置,这就是它返回字符串的原因

如果要返回单个值,请编写如下内容

    public string Get()
    {
        return "Value";
    }
另一件事是,您还推出了另一个get实现,它将返回单个字符串值。但为此,您需要在URL中传递参数

比如http:/api/Service/5,它将调用Get(int-id)方法