我正在尝试处理HTTP PUT请求的正文,但是MVC引擎(或者可能是支撑它的ASP.NET堆栈)似乎没有自动解析并使用正文数据填充请求的表单集合。
在发布帖子时,这确实可以按预期工作。
请注意,请求的InputStream属性确实包含预期的数据,显然我可以使用该属性构建自己的键/值集合,但我希望PUT的工作方式与POST相同。
我是不是漏掉了什么?
操作方法示例:
[AcceptVerbs(HttpVerbs.Put)]
public ActionResult Purchase(int id, FormCollection data)
{
// Do stuff with data, ex
由于向后兼容,默认情况下,所有未定义字符集的HTTP请求都会转换为ISO-8859-1。我们的内线发球了!应用程序正确接收带有JSON主体的PUT请求,前提是这些请求定义了字符集。如果没有,这些请求应该以某种方式转换为UTF-8,最好是在全局应用程序级别。
因此,我创建了一个Global.scala类,它将负责接收所有入站请求,并将这些“未定义”的请求转换为UTF-8,这将确保所有请求在进入相应的模块之前都得到了正确的处理。
import play.*;
public class Global extends GlobalSettings {
@Override
我使用的是Visual Studio 2012 RC。我使用的是默认路由,并具有以下Web API控制器:
public class FooController : ApiController
{
// GET api/foo
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/foo/5
public string Get(int id)
{
如何将请求正文添加到我的代码中,比如使用Postman‘using选项卡。我只算出了请求头。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView textView = f
我一直在研究/创建REST,在backbone.js到php上下文中。
我理解HTTP动词的概念以及应该在什么时候使用它们
GET - select
POST - create
PUT - update
DELETE - delete
我还理解将标识符作为语义url传递的概念。
GET http://api/users/123
DELETE http://api/users/123
在这些情况下,"123“是业务逻辑用于获取/删除用户的id。
但那篇文章和文章的内容呢?当发送请求到
PUT http://api/users/123
api将使用提供的参数更新用户id 123,下面是我的