我正在设计REST API,我想知道处理资源更新的推荐方法是什么.更具体地说,我将允许通过PUT资源进行更新,但我应该在PUT请求正文中允许什么?
例如,获取资源http://example.org/api/v1/dogs/packs/p1.GET此资源上的A 将提供以下内容:
Request:
GET http://example.org/api/v1/dogs/packs/p1
Accept: application/xml
Response:
<pack>
<owner>David</owner>
<dogs>
<dog>
<name>Woofer</name>
<breed>Basset Hound</breed>
</dog>
<dog>
<name>Mr. Bones</name>
<breed>Basset Hound</breed>
</dog>
</dogs>
</pack>
Run Code Online (Sandbox Code Playgroud)
假设我想要添加一只狗(Sniffers the Basset Hound),我会支持:
Request:
PUT http://example.org/api/v1/dogs/packs/p1
<dog>
<name>Sniffers</name>
<breed>Basset Hound</breed>
</dog>
Response:
HTTP/1.1 200 OK
Run Code Online (Sandbox Code Playgroud)
要么
Request:
PUT http://example.org/api/v1/dogs/packs/p1
<pack>
<owner>David</owner>
<dogs>
<dog>
<name>Woofer</name>
<breed>Basset Hound</breed>
</dog>
<dog>
<name>Mr. Bones</name>
<breed>Basset Hound</breed>
</dog>
<dog>
<name>Sniffers</name>
<breed>Basset Hound</breed>
</dog>
</dogs>
</pack>
Response:
HTTP/1.1 …Run Code Online (Sandbox Code Playgroud) 我有点沮丧,因为我无法找到可以使用${...}Struts标记中的语法访问哪些变量,放在JSP页面中.
作为一个例子,我有以下代码:
<c:set target="${status.menue}" property="activeMenuePath" value="whatever" />
Run Code Online (Sandbox Code Playgroud)
必须在何处"status.menue"定义对象才能使用美元符号和大括号进行访问.它是在另一个struts tile中还是在窗体中定义的?
关于课程,有些事情让我烦恼.例如
class A
{
public:
A()
{
.....
.....
}
void cleanup()
{
....
....
....
}
public:
UINT a;
ULONG b;
};
Run Code Online (Sandbox Code Playgroud)
在上面的例子中有两个公共部分.在第一部分中,我定义了一个构造函数和一个方法,在第二部分中,我将声明数据成员.上面的类是A正确的.我们可以这样做吗?如果是,那么为什么需要这样做以及在什么情况下我们应该使用它?既然我们可以在一个部分完成整个事情,那么为什么有两个部分呢?
我有下面的表格
id, employee_no, survey_no, name
1 test 1 test_name
2 test2 1 test_name2
3 test3 1 test_name3
4 test4 2 test_name4
Run Code Online (Sandbox Code Playgroud)
如何通过将下面的AND组合成一个IN语句来使用Restriction.in进行查询?
IN[ (if(survey_no==1) && employee_no== 'test') ,
(if(survey_no==1) && employee_no== 'test2') ,
...
]
Run Code Online (Sandbox Code Playgroud) 我有以下代码.我希望在我的firebug控制台上看到"archive"对象,但是我看到了Window对象.这是正常的吗?
var archive = function(){}
archive.prototype.action = {
test: function(callback){
callback();
},
test2: function(){
console.log(this);
}
}
var oArchive = new archive();
oArchive.action.test(oArchive.action.test2);
Run Code Online (Sandbox Code Playgroud) 我有一个带有FileField的模型:
class DocumentUpload(models.Model):
document_name = models.CharField(max_length=100, blank=True)
document_path = models.FileField(upload_to='uploads')
Run Code Online (Sandbox Code Playgroud)
以及使用此模型的表单
class DocumentUploadForm(forms.ModelForm):
class Meta:
model = DocumentUpload
Run Code Online (Sandbox Code Playgroud)
当我使用表单创建新的上传时,一切正常.
if request.method == 'POST':
form = DocumentUploadForm(request.POST, request.FILES)
if form.is_valid():
form.save()
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试更新/编辑条目时,它会更新除上载文档之外的所有字段.这与原始上传保持一致.
d = get_object_or_404(DocumentUpload, pk=id)
if request.method == 'POST':
form = DocumentUploadForm(data=request.POST, files=request.FILES, instance=d)
if form.is_valid():
u = form.save()
Run Code Online (Sandbox Code Playgroud)
如何在编辑实例时更改上传文件?
谢谢
是否可以在网页的背景中使用全屏画布元素,并在其前面使用"普通"标记元素?
如下面的代码段(如果它不会用作替代内容):
<canvas id="imageView" width="100%" height="100%">
<table>...</table>
</canvas>
Run Code Online (Sandbox Code Playgroud) 我正在尝试在网站上实施Facebook Connect.我正在尝试使用Facebok的Javascript SDK.我是新手,不幸的是,Facebook WIKI提供的大多数链接已经过时了......返回404未找到.无论如何,我在结束前添加了这段代码</body>:
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>
<div id="fb-root"></div>
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"> </script>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : '12344', // my real app id is here
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : false // parse XFBML
});
FB.login(function(response) {
if (response.session) {
if (response.perms) {
alert('user is logged in and granted some permissions');
// user is logged in and granted …Run Code Online (Sandbox Code Playgroud) 我的IB中有一个UITextField,我想查看用户是否只输入了数字(没有字符)并得到整数值.
我得到了UITextField的整数值:
int integer = [myUITexrtField.text intValue];
Run Code Online (Sandbox Code Playgroud)
当我放一个字符(,;.)时它返回0并且我不知道如何检测它不仅仅是数字.
我能怎么做?
我正在尝试使用Use代码在Mono C#中获取屏幕截图,但是当我调用CopyFromScreen时却遇到了System.NotImplementedException 。我的代码可与.NET一起使用,所以有没有其他方法可以使用Mono获取屏幕截图?
Bitmap bitmap = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
Graphics graphics = Graphics.FromImage(bitmap as Image);
graphics.CopyFromScreen(0, 0, 0, 0, bitmap.Size);
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
bitmap.Save(memoryStream, imageFormat);
bitmap.Save(@"\tmp\screenshot.png", ImageFormat.Png);
Run Code Online (Sandbox Code Playgroud)
我正在使用Mono JIT编译器版本2.4.2.3(Debian 2.4.2.3 + dfsg-2)
更新:Mono无法拍摄屏幕截图。伤心。瘸。