我遇到过一个在URL查询字符串中使用50位十进制整数ID的网站,这看起来有点过分.
最小的50位十进制数1.0 x 10^49,也称为:
1000000000
0000000000
0000000000
0000000000
0000000000
Run Code Online (Sandbox Code Playgroud)
我只问纯粹的程序员好奇心 - 这不是大学问题,工作问题或面试难题!
我认为"Web服务"和"Web服务"之间存在明显差异,并发现自己将后者称为"小写Web服务".
我将这些差异列为:
"网页服务"
"网页服务"
我有兴趣找到一个更正式的"网络服务"定义,以及其他人对两者之间的差异的看法.
我也有兴趣搜索任何对"小写网络服务"的引用,因为我确信我在某个地方遇到过它.
我正在学习使用Grails,并且在处理应该是简单的表单提交时遇到了我不理解的情况.
我创建了一个名为'add'的控制器(有一个AddController.groovy源文件和一个相应的add/index.gsp视图),并定义了一个非常稀疏的'进程'动作,该动作当前呈现少量HTML以验证正在呼吁行动.
添加控制器上的进程操作的URL(毫不奇怪)是http:// localhost:8080/frontend/add/process /.
我想向流程操作提交一个非常简单的表单,作为与某些现有Java库集成的第一步.
向http:// localhost:8080/frontend/add/process /发送GET请求会导致调用流程操作,浏览器将显示相关的简单HTML内容.
向http:// localhost:8080/frontend/add/process /发送POST请求会返回HTTP 404错误.
我很欣赏我遗漏了一些对我的应用程序的基本补充,以便上述操作适用于GET和POST请求.我默认假设请求类型无关紧要.
如果我可以向相应的操作发送POST请求并且为了证明事情正在发挥作用而进行了一些标记,那么在这个阶段我会非常高兴.
我错过了什么基本要素的谜题?
控制器/前端/ AddController.groovy:
package frontend
class AddController {
def index = { }
def process = {
render "<h1>process action being performed</h1>"
}
}
Run Code Online (Sandbox Code Playgroud)
查看/添加/ index.gsp中
<html>
<head>
<title>Test View for index action</title>
<meta name="layout" content="main" />
</head>
<body>
<g:form controller="add" action="process">
<label for="title">Title:</label>
<g:textField name="title" id="title" />
<label for="content">Content:</label>
<g:textArea name="content" id="content" />
<g:actionSubmit value="Add" />
</g:form>
</body> …Run Code Online (Sandbox Code Playgroud) 我正在阅读Pro PHP Programming,在示例中,作者使用围绕返回值的括号
这有什么区别:
function foo($x) {
return (bar::baz($x));
}
Run Code Online (Sandbox Code Playgroud)
还有这个:
function foo($x) {
return bar::baz($x);
}
Run Code Online (Sandbox Code Playgroud)
?
symfony2应用程序具有一个Job具有类型属性的实体WebSite.
没有其他属性或方法的简化表示:
/**
* @ORM\Entity
* @ORM\Table(name="Job")
*/
class Job
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="integer", name="website_id", nullable=false)
* @ORM\ManyToOne(targetEntity="Example\ExampleBundle\Entity\WebSite")
*/
protected $website;
}
Run Code Online (Sandbox Code Playgroud)
Symfony/Doctrine试图website在持久化时将属性转换为字符串,从而导致错误:
可捕获的致命错误:类的对象示例\ ExampleBundle\Entity\WebSite无法转换为/vendor/doctrine/dbal/lib/Doctrine/DBAL/Statement.php第131行中的字符串
我相信上面的@ORM\Column注释表示website属性是一个整数.我不明白为什么Symfony/Doctrine希望尝试将website属性转换为字符串.
我试图解决此问题的非理想解决方法:
添加__toString()方法WebSite,返回id属性的字符串表示,导致正确的值最终在Job.website_id数据域中结束; 这种解决方法是不切实际的,因为我将来需要__toString()在应用程序的其他地方提供字符串.
@ORM\Column从website属性中删除注释; 这导致所有未来差异生成的迁移(php app/console doctrine:migrations:diff)删除相关数据库字段的"not null"方面.
我是否应对上述注释做出任何更改,以通知Symfony/Doctrine 在持久化时调用获取所需内容的getId()方法WebSite?我可以做出任何改变WebSite来实现同样的目标吗?
需要进行哪些更改才能确保上述注释可以保留在原位,以便Doctrine最终调用WebSite.getId()以获取持久存在时所需的内容,而不是尝试将对象强制转换为字符串?
annotations ×1
binary ×1
doctrine-orm ×1
grails ×1
groovy ×1
javascript ×1
jquery ×1
parentheses ×1
php ×1
puzzle ×1
return-value ×1
symfony-2.1 ×1
terminology ×1
web-services ×1