问题是,这段代码给出了内部异常,当它去到url (api/brand
)它给出了这个错误:
请求的资源不支持http方法'GET'.
我已经尝试了很多方法,但都不起作用。
public class BrandController : ApiController
{
public List<Brands> DetailsGet()
{
EFDBFirstDatabaseEntities db = new EFDBFirstDatabaseEntities();
try
{
db.Configuration.LazyLoadingEnabled = false;
List<Brands> brand = db.Brands.ToList();
return brand;
}
catch (Exception ex)
{
if (ex.InnerException != null)
{
throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.InnerException.Message));
}
else
{
throw ex;
}
}
}
}
这是模型类代码:
namespace EntityPractice.Models
{
using System;
using System.Collections.Generic;
public partial class Brands
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Brands()
{
this.Products = new HashSet<Products>();
}
public long BrandID { get; set; }
public string BrandName { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Products> Products { get; set; }
}
}
看下面的帖子:. NET Web API
有必要根据你的方法的功能来处理任何在Web API方法中引发的异常。
在上面的例子中,有必要构造并返回HttpResponseException()
的一些实例,而不是throw ex;
。