插件方面以及HTTPBuilder方面的文档似乎都缺乏.我试图通过put方法提交一些json,但它一直告诉我put()不喜欢我正在喂它的地图.
有没有人使用Grails REST Client插件有一个PUT的例子?这是我尝试过的:
withHttp(uri: "http://foo/doo/roo") {
def bodyContent = [
pano: jsonText
]
def json = put(body: bodyContent)
if (json.stat == 'ok') {
wsr.success = true
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
No signature of method: com.wbr.pano.PanService.put() is applicable for argument types: (java.util.LinkedHashMap) values: [[body:
{
"class":"com.wbr.platform.Pano",
"errorMessage":"null",
"imageSize":0,
"id":26,
"completed":"2011-03-20 3:50:27.257",
"downloading":"2011-03-20 3:49:12.269",
"processing":"2011-03-20 3:49:42.911",
"uploading":"2011-03-20 3:50:12.107"
}
]]
Run Code Online (Sandbox Code Playgroud) 我有一个服务,我有一个方法来调用,我如何访问此服务.我已经看过sms插件并安装了它如何从我的应用程序发送短信到不同的mobiles.I跟着grails sms插件但我没有得到任何结果ecxept ecxeptions
class SipgateService {
static transactional = true
def serviceMethod() {
def sipgateService
//def phoneNumber = 'XXXXXXXXXX' //phoneNumber according to E.164 specification
//working alternative:
println "service"
def phoneNumber = 'XXXXXXXXXX'
def result = sipgateService.sendSMS(phoneNumber, 'This is my Text to send!')
result ? 'Sending Successful':'Sending failed'
println "after service"
}
}
Run Code Online (Sandbox Code Playgroud)
请举个例子解释我.非常感谢.
我正在使用Grails 1.3.7和db-migration插件.
我生成了一个包含我的delta的chagelog.groovy文件,我设置了theese属性:
grails.plugin.databasemigration.updateOnStart = true
grails.plugin.databasemigration.updateOnStartFileNames = ['changelog.groovy‘]
Run Code Online (Sandbox Code Playgroud)
现在在我的Datasource.groovy中,我要更新dbCreate.
我启动了我的应用程序,它告诉我已经创建了我在delta中的表.
有什么想法吗?
我是Grails的新手,我正在拼命想让Spring Security插件运行.我将以下行添加到我的项目中BuildConfig.groovy:
plugins{
...
compile ":spring-security-core:1.2.7.3"
...
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试通过install-plugin命令安装插件.无论我选择哪种方式,我都无法启动项目,因为我已经运行了s2-quickstart脚本(它创建了Spring Security域类和控制器).
我使用PostgreSQL作为数据库并在Windows 7上运行Groovy/Grails Tool Suite,使用Grails版本2.2.1.
这是错误消息:
| Loading Grails 2.2.1
| Configuring classpath.
| Environment set to development.....
| Packaging Grails application....
| Compiling 7 source files.....
| Running Grails application
Configuring Spring Security Core ...
... finished configuring Spring Security Core
| Error 2013-03-29 22:15:17,677 [localhost-startStop-1] ERROR context.GrailsContextLoader - Error initializing the application: Error creating bean with name 'instanceTagLibraryApi': Injection of autowired …Run Code Online (Sandbox Code Playgroud) 我创建了一个新的grails 2.3示例项目.
它在刷新依赖项或run-app时给出错误
Loading Grails 2.3.0.M1
| Configuring classpath
| Error org.sonatype.aether.collection.DependencyCollectionException: Failed to collect dependencies for [xalan:serializer:jar:2.7.1 (compile), org.grails:grails-bootstrap:jar:2.3.0.M1 (compile), org.grails:grails-scripts:jar:2.3.0.M1 (compile), org.grails.plugins:tomcat:zip:7.0.39 (compile)]
| Error at org.sonatype.aether.impl.internal.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:258)
| Error at org.sonatype.aether.impl.internal.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:308)
| Error at org.codehaus.groovy.grails.resolve.maven.aether.AetherDependencyManager.collectDependencies(AetherDependencyManager.groovy:389)
| Error at org.codehaus.groovy.grails.resolve.maven.aether.AetherDependencyManager.resolve(AetherDependencyManager.groovy:262)
| Error at grails.util.BuildSettings.doResolve(BuildSettings.groovy:505)
| Error at grails.util.BuildSettings.doResolve(BuildSettings.groovy)
| Error at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| Error at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
| Error at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
| Error at java.lang.reflect.Method.invoke(Method.java:601)
| Error at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
| Error at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
| Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)
| Error …Run Code Online (Sandbox Code Playgroud) 我正在使用Grails 2.2.4构建一个插件.该插件是一个访问管理器,需要访问一些数据源(多个).正如Grails手册中提供的Basic Basic Artefacts,DataSource.groovy未与插件捆绑在一起.
有没有办法将插件DataSource.groovy文件中定义的数据源"复制"到使用该插件的应用程序的DataSource.groovy文件?
我真的不想在每个使用该插件的应用程序上手动定义插件数据源.
============
完整的堆栈跟踪(在评论中请求)
2013-12-11 11:39:33,055 ERROR org.codehaus.groovy.grails.web.context.GrailsConte
xtLoader - Error initializing the application: groovy.lang.MissingMethodExceptio
n: No signature of method: portal.Aplicacao.methodMissing() is applicable for ar
gument types: () values: []
org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingMetho
dException: No signature of method: portal.Aplicacao.methodMissing() is applicab
le for argument types: () values: []
at grails.util.Environment.evaluateEnvironmentSpecificBlock(Environment.
java:308)
at grails.util.Environment.executeForEnvironment(Environment.java:301)
at grails.util.Environment.executeForCurrentEnvironment(Environment.java
:277)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor .java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: groovy.lang.MissingMethodException: No signature …Run Code Online (Sandbox Code Playgroud) 我正在使用Grails 2.3.2并尝试将我的Spring Security Core Plugin从1.2.7.3升级到2.0.
我做了所有导入更改并启动了我的应用程序,但我无法登录.2.0中的一个变化是它使用bcrypt算法进行密码,使我所有的旧密码都无用.所以,我在我的应用程序中完成了密码重置过程,并且在此之后我可以登录就好了.
但是,我想保留所有用户的旧密码,所以我找到了该插件的1.2.7.3版本的文档,并查找了它使用的算法:http://grails-plugins.github.io/ 的grails-弹簧安全核/文档/ manual.1273 /导向/ 12%20Password%20于是%20Account%20Protection.html
根据这些文档,它的默认值是SHA-256.所以,我添加了配置更改,但我仍然无法登录.
那么,我如何将我的所有用户密码迁移到2.0版本的插件?截至目前,它似乎不可能......
我正在尝试在使用Spring Security插件的Grails应用程序中使用BCrypt密码哈希.我通过添加以下内容启用了BCryptConfig.groovy
grails.plugins.springsecurity.password.algorithm = 'bcrypt'
Run Code Online (Sandbox Code Playgroud)
我已经定义了以下编解码器来简化使用BCrypt来编码密码:
public class PasswordCodec {
// it doesn't seem to be possible to dependency-inject codecs, so lookup the bean ourselves
@Lazy
private static PasswordEncoder passwordEncoder = Holders.grailsApplication.mainContext.getBean('passwordEncoder')
static encode = { str ->
passwordEncoder.encodePassword(str.toString(), null)
}
}
Run Code Online (Sandbox Code Playgroud)
当我在开发模式下启动应用程序时,数据库会使用几个帐户进行自举(每个帐户都有相同的密码,例如
3.times { i ->
def username = "user$i"
def password = "secret".encodeAsPassword()
new User(username: username, password: password).save()
// also assign the user a role
}
Run Code Online (Sandbox Code Playgroud)
如果我查看数据库,我看到每个用户密码的编码值是不同的!因此,当用户尝试登录并输入"秘密"密码时,BCrypt编码的密码值与数据库中保存的密码值不匹配也就不足为奇了,因为似乎字符串的BCrypt编码值会发生某种变化随着时间的推移.
显然我在这里做错了,但我不知道是什么?
jquery.flipcountdown.css文件是:
.xdsoft_flipcountdown.xdsoft_size_lg >.xdsoft_digit{
width:53px;
height:76px;
background-image:url(./img/digit-lg.png);
}
Run Code Online (Sandbox Code Playgroud)
目录结构是
+flipcountdown-master
+ img
- digit-lg.png
- jquery.flipcountdown.css
Run Code Online (Sandbox Code Playgroud)
问题是:在这种情况下如何使用资产管道.
1:将css放在assets/stylesheets下,并将img文件夹放在assets/images文件夹下?可以工作吗?
2:把css文件和img文件夹全部放到assets/stylesheets文件夹中,我很确定它可以工作,但是资产管道可以gzip吗?
我不擅长JS/CSS和我花了很多时间来阅读资产管道doc和YouTube上的视频,但我仍然不知道如何以正确的方式使用它.
thx提前
我想在Burt的例子中创建使用JdbcStore的石英作业,如文档的聚类部分所述.
该示例显示了如何使用quartz.properties文件配置quartz.
现在,我希望我的jdbc存储与我的grails应用程序是同一个数据库,这样我就可以复制更少的设置了.
那么,假设我在我的数据库中手动创建了所需的表,是否可以使用在石英插件中使用Datasource.groovy中配置的默认dataSource?
我使用的是grails 2.4.4和quartz 1.0.2.
换句话说,我可以将我的设置添加到QuartzConfig.groovy而不是创建一个新的quartz.properties文件吗?至少我可以从单独的环境设置中受益.
这样的东西在QuartzConfig.groovy中是否有效?
quartz {
autoStartup = true
jdbcStore = true
waitForJobsToCompleteOnShutdown = true
exposeSchedulerInRepository = true
props {
scheduler.skipUpdateCheck = true
threadPool.class = 'org.quartz.simpl.SimpleThreadPool'
threadPool.threadCount = 50
threadPool.threadPriority = 9
jobStore.misfireThreshold = 60000
jobStore.class = 'impl.jdbcjobstore.JobStoreTX'
jobStore.driverDelegateClass = 'org.quartz.impl.jdbcjobstore.StdJDBCDelegate'
jobStore.useProperties = false
jobStore.tablePrefix = 'QRTZ_'
jobStore.isClustered = true
jobStore.clusterCheckinInterval = 5000
plugin.shutdownhook.class = 'org.quartz.plugins.management.ShutdownHookPlugin'
plugin.shutdownhook.cleanShutdown = true
jobStore.dataSource = 'myDS'
// [...]
}
Run Code Online (Sandbox Code Playgroud) grails-plugin ×10
grails ×9
bcrypt ×1
grails-2.0 ×1
grails-2.2 ×1
groovy ×1
httpbuilder ×1
liquibase ×1
rest ×1