标签: put

在jQuery中使用X-HTTP-Method-Override?

如何在jQuery中为ajax请求执行X-HTTP-Method-Override?

jquery put http-headers

16
推荐指数
2
解决办法
7753
查看次数

HTTP PUT请求可以将application/x-www-form-urlencoded作为Content-Type吗?

如果我需要在HTTP PUT请求中发送表单数据,它是否有效?

如果你能指出我的规格,那就太棒了.

[更新]

我已经完成了HTTP 1.1规范.但我没有发现PUT请求是否可以有Form数据.

我正在使用Java来创建和访问RESTful webservices.POST支持application/x-www-form-urlencoded作为Content-Type.

根据规范,我了解POST用于创建新资源(由请求URI标识的资源的子资源),PUT用于创建或更新资源.

但我怀疑PUT方法是否也可以有表格数据呢?我试图根据规格找出它是否合适.我在HTTP 1.1规范中找不到任何相关内容.

谢谢,保罗

rest specifications content-type http put

15
推荐指数
2
解决办法
2万
查看次数

获取"实体类型<model>不是当前上下文模型的一部分."

我在使用web api在asp.net中一次更新我的数据库1列时遇到此问题.我试图查询PUT只更新行中的一个值而不是更新那个值并将其余值设置为null.我在控制器之外做了一个单独的模型来接受更新,所以我可以一次做一个.当我db.Entry(user).State = EntityState.Modified;在控制器中点击该行时,它出错了.有什么建议我怎么解决这个问题?

这是我在put方法中使用的单独的ViewModel:

namespace WebAPI.Models.ViewModels
{
    public class UserViewModel
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的控制器在我的参数中使用ViewModel调用方法:

public HttpResponseMessage PutUser(int id, UserViewModel user)
        {
            HttpResponseMessage response;

            if (db.User.IsInRole("Admin"))
            {
                try
                {
                        db.Entry(user).State = EntityState.Modified;
                        db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!UserExists(id))
                    {
                        response = new HttpResponseMessage(HttpStatusCode.NotFound);
                        return response;
                    }
                    else
                    {
                        throw;
                    }
                }

                response = new HttpResponseMessage(HttpStatusCode.NoContent);
                return response;
            }
Run Code Online (Sandbox Code Playgroud)

这是我的DBContext档案:

public partial …
Run Code Online (Sandbox Code Playgroud)

c# asp.net entity-framework put dbcontext

15
推荐指数
3
解决办法
7万
查看次数

如何在sftp中实现递归放入

我的Ubuntu中的命令行sftp没有实现递归put.我发现2004年有关于使用-R选项开关实现此类功能的一些争论.所以我认为某种自制的递归是唯一的选择.

IE浏览器.

  • 遍历目录列表
  • 进入目录
  • 如果不存在则mkdir
  • 放文件

我打算用bash做这个,但任何其他语言就足够了.

Rsync或scp不是一个选项,因为我没有对服务器的shell访问权限.只有sftp.

recursion sftp put

14
推荐指数
1
解决办法
2万
查看次数

无法在JQuery 1.6.4中使用CORS进行PUT/POST/DELETE HTTP调用

所以,我可以使用CORS成功地对我的服务进行GET调用.但是,在POST,PUT和DELETE操作的预检级别上必须出错.但是,根据我的判断,我的服务器响应OPTIONS查询返回的标头响应是正确的,并与之中描述的匹配

这是我的javascript代码,在JQuery 1.6.4中使用$ .ajax.

$.ajax({
  url: 'http://myhome:8080/TaskApproval/resources/tasks/2',
  context: this,
  data: '<?xml version="1.0" encoding="UTF-8"?> <task> <description>Get carrots from the grocery store</description><originator>Chris</originator><subject>Get Carrots !!</subject><taskId>2</taskId> </task> ',
  timeout: 30000,
  type: 'PUT',
  contentType: 'application/xml',
  success: function(response) {
    alert(response);
    result = response;
  },
  error: function(xhr) {
    alert('Error!  Status = ' + xhr.status + " Message = " + xhr.statusText);
  }
});
Run Code Online (Sandbox Code Playgroud)

现在,这就是我的HTTP Trail看起来像Firebug的礼貌.

请求:

OPTIONS /TaskApproval/resources/tasks/2 HTTP/1.1
Host: widgethome:8080
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: …
Run Code Online (Sandbox Code Playgroud)

jquery http put cors

14
推荐指数
1
解决办法
3万
查看次数

Spring/RestTemplate - PUT实体到服务器

请看这个简单的代码:

final String url = String.format("%s/api/shop", Global.webserviceUrl);

RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());

HttpHeaders headers = new HttpHeaders();
headers.set("X-TP-DeviceID", Global.deviceID);
HttpEntity entity = new HttpEntity(headers);

HttpEntity<Shop[]> response = restTemplate.exchange(url, HttpMethod.GET, entity, Shop[].class);
shops = response.getBody();
Run Code Online (Sandbox Code Playgroud)

如您所见,上面的代码旨在从服务器(以json格式)获取商店列表,并将响应映射到Shop对象数组.现在我需要推出新店,例如/ api/shop/1.请求实体应具有与返回的格式完全相同的格式.

我应该将/ 1添加到我的网址,创建新的Shop类对象,所有字段都填充了我想要放置的值,然后使用与HttpMethod.PUT的交换?

请为我澄清一下,我是Spring的初学者.代码示例将不胜感激.

[编辑]我很困惑,因为我刚注意到方法RestTemplate.put().那么,我应该使用哪一个?交换还是放()?

java spring json put resttemplate

14
推荐指数
1
解决办法
4万
查看次数

如何使用JQuery使用HTTP"PUT"上传文件?

我想使用JQuery-File-Upload上传文件,但使用HTTP"PUT"而不是multipart-forms.根据他们的网站:

- Multipart and file contents stream uploads:
    Files can be uploaded as standard "multipart/form-data" or file contents stream (HTTP PUT file upload).
Run Code Online (Sandbox Code Playgroud)

但我在他们的文档中找不到如何做到这一点.有人可以帮忙吗?

javascript jquery put

13
推荐指数
1
解决办法
2万
查看次数

C#HttpClient PUT

出于某种原因,我现在使用的下面的代码因此引发了一个异常:

public static async Task<string> HttpPut(string inUrl, string inFilePath)
    {
        using (var handler = new HttpClientHandler
        {
            AllowAutoRedirect = false
        })
        {
            using (var client = new HttpClient(handler))
            {
                //var content = new StreamContent(new FileStream(inFilePath, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize: 4096, useAsync: true));
                using (var content = new StreamContent(new FileStream(inFilePath, FileMode.Open)))
                {
                    content.Headers.Remove("Content-Type");
                    content.Headers.Add("Content-Type", "application/octet-stream");

                    using (var req = new HttpRequestMessage(HttpMethod.Put, inUrl))
                    {
                        string authInfo = String.Format("{0}:{1}", Program.Config.MediaStorageList.Find(o => o.Name == "Viz Media Engine Test").UserName, Program.Config.MediaStorageList.Find(o => o.Name == "Viz Media …
Run Code Online (Sandbox Code Playgroud)

c# http put httpclient

13
推荐指数
1
解决办法
2万
查看次数

使用Slim PHP获取PUT参数

我搜索过,但我找不到答案.我有一个RESTful API来管理基本的CRUD.我正在尝试使用PUT创建更新方法,但我无法检索params值.我正在使用Postman发出请求,我的请求如下:

网址

http://localhost/api/update/987654321
Run Code Online (Sandbox Code Playgroud)

PARAMS

id = 987654321
name = John Smith
age = 35
Run Code Online (Sandbox Code Playgroud)

PHP

$app = new Slim();
$app->put('/update/:id', function( $id ) use( $app ){
    var_dump([
        'id' => $id,
        'name' => $app->request->put('name'),
        'age' => $app->request->put('age')
    ]);
});
Run Code Online (Sandbox Code Playgroud)

我的var_dump()结果是:

array(3) {
  ["id"]=>
  string(9) "987654321"
  ["name"]=>
  NULL
  ["age"]=>
  NULL
}
Run Code Online (Sandbox Code Playgroud)

怎么了?任何的想法?

php rest put slim restful-url

13
推荐指数
1
解决办法
9493
查看次数

Spring Data REST - 自v.2.5.7起,PUT请求无法正常工作

从版本2.5.7开始, Spring Data REST无法正确执行PUT请求以更新具有关联资源的资源.与按预期工作的PATCH请求不同!

例如,Person与多对一关联Addres.如果我们使用SDR v.2.5.6(Spring Boot v.1.4.3)执行PUT请求,那么一切正常.但是,如果我们切换到2.5.7版(即Spring Boot v.1.4.4),那么我们会收到一个错误:

无法构造Address的实例:没有String-argument构造函数/工厂方法从String值反序列化

其他类型的关联也会发生同样的情况,例如一对多(单向和双向) - 请参阅我的示例应用程序代码和测试.

从1.4.4开始,Spring Boot的所有版本都存在此问题,包括最新的稳定1.5.6版本,以及最新的2.0.0-SNAPSHOT版本!

要解决这种情况,我们可以切换到SDR v.2.5.6(Spring Boot v.1.4.3).

我准备了一个邮递员的请求集合,以帮助您解决问题:SDR PUT问题

更新2017-08-14

我找到了如何避免错误Can not construct instance of Address: no String-argument constructor/factory method to deserialize from String value.

由于我在这个项目中使用Lombok,因此有必要告诉Lombok禁止@ConstructorProperties生成的构造函数中使用注释 .所以我lombok.anyConstructor.suppressConstructorProperties=true在'lombok.config'文件中设置,错误消失了.

不幸的是,发现了一个新问题 - PUT请求根本不更新关联的对象!

以下示例说明了这一点.当我们尝试通过将他的地址从addresses/1(初始值)更改为addresses/2- 来更新Person时,它仍然是相同的:addresses/1!与之前的问题一样,自1.4.4以来,这一问题出现在Spring Boot的 …

java rest put spring-data-rest spring-boot

13
推荐指数
1
解决办法
3121
查看次数