我希望下面的示例控制器返回状态代码418,不包含任何内容。设置状态代码是非常容易的,但是似乎需要做一些事情来指示请求的结束。在MVC中,在ASP.NET Core之前或者在WebForms中,这可能是对Response.End()的调用,但是在不存在Response.End的ASP.NET Core中是如何工作的呢?
public class ExampleController : Controller
{
[HttpGet][Route("/example/main")]
public IActionResult Main()
{
th
我刚开始使用spring引导rest模板。我正在尝试为rest模板post调用编写单元测试用例。我创建了一个用户控制器来发送虚拟数据。为POST调用编写的用户控制器对单元测试是否正确?如果不是,写它的正确方法是什么?我从用户控制器返回的响应正确吗?我应该将状态代码返回为200还是201?有人能帮我吗?
下面是用户控制器
@PostMapping("/users")
public User createUser(@RequestBody User user){
List<String> messages = new ArrayList<&
如何从ASP.NET MVC Web API控制器返回超文本标记语言?
我尝试了下面的代码,但得到了编译错误,因为Response.Write没有定义:
public class MyController : ApiController
{
[HttpPost]
public HttpResponseMessage Post()
{
Response.Write("<p>Test</p>");
return Request.CreateResponse(HttpStatusCode.OK);
我正在为控制器编写单元测试,如下所示:
public HttpResponseMessage PostLogin(LoginModel model)
{
if (!ModelState.IsValid)
return new HttpResponseMessage(HttpStatusCode.BadRequest);
}
该模型如下所示:
public class LoginModel
{
[Required]
public string Username { set; get; }
[Required]
public string P
ASP.NET create控制器通常返回显式类型(如果您创建一个新项目,默认情况下这样做),如下所示:
[Route("api/[controller]")]
public class ThingsController : Controller
{
// GET api/things
[HttpGet]
public async Task<IEnumerable<Thing>> GetAsync()
{
//...
}
// GET api/things/5
[HttpGet(&
编写单元测试来命中控制器,控制器的代码是:
public HttpResponseMessage InsertByKittyId(.....
...
if (result.Success)
return Request.CreateResponse(HttpStatusCode.OK);
else
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, new Exception(result.Message));
在我的单元测试中,它应该生成一个错误响
我有一个大型的SPA应用程序,使用Asp.net Web API作为后端,使用angularjs作为前端,使用存储库模式、UOW和EntityFramework。Api控制器也是可测试的。现在,我想写一些单元测试来测试所有的api控制器。现在的问题是,我是应该使用假的存储库和DataContext进行单元测试,还是应该使用实际的数据库进行单元测试?
它们中哪一个是更好的解决方案?或者还有其他方法吗?
谢谢
我有一个需要单元测试的控制器的ASP.NET Core。
控制器:
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
namespace TransitApi.Api.Controllers
{
[Route("api/foo")]
public class FooController : Controller
{
private IFooRepository FooReposit
我有以下Api Controller
[HttpPost]
public User Create(User user)
{
User user = _domain.CreateUser(user);
//set location header to /api/users/{id}
//set status code to 201
//return the created user
}
似乎我们必须依赖于Request.CreateResponse(..)并更改控制器的签名才能返回IHttpActionResult。
我不想更改方法签名,因为它对文档非常有用。我可
我有一个具有更新艺术家的API的应用程序,以及一个尝试与API交互以更新艺术家的客户端。问题是,每当我尝试执行PUT请求时,记录都不会更新,并且请求失败,并出现Completed 204 No Content in 14ms (ActiveRecord: 0.0ms)错误。
下面是API控制器:
class Api::V1::ArtistsController < Api::V1::BaseController
respond_to :json
def show
respond_with Artist.find_by_id(params[:id])
end
d
我想将异常消息返回给AngularJS UI。作为后端,我使用ASP.NET Core控制器:
[Route("api/cars/{carNumber}")]
public string Get(string carNumber)
{
var jsonHttpResponse = _carInfoProvider.GetAllCarsByNumber(carNumber);
if (jsonHttpResponse.HasError)
{
var message = new Http
我有一个简单的控制器,带有自定义模型类型标题-,没有无参数构造函数和公共设置器。
我尝试使用asp.net mvc核心2.2和3.1中的代码。
模型类:
public class Heading
{
public string Title { get; }
public Heading(string title)
{
Title = title;
}
}
API控制器:
[Route("api/[controller]")]
[ApiController]
public class TestController : Control