为什么Dart中存在错误和异常,而不是错误或异常?
这是一个历史性的原因是什么?
我可以抛出一个错误,我可以抛出异常.分析器中没有像Java一样检查它们(异常与运行时异常)
返回JSON时泽西似乎失败了......
这个:
@GET
@Produces( MediaType.APPLICATION_JSON + ";charset=UTF-8")
public List<MyObject> getMyObjects() {
return ....;
}
Run Code Online (Sandbox Code Playgroud)
需要返回JSON utf-8编码.如果我只使用
@Produces( MediaType.APPLICATION_JSON)
Run Code Online (Sandbox Code Playgroud)
失败,例如德语umlaute(üöä),将以错误的方式返回.
两个问题:
1 - 对于JSON utf-8是标准 - 为什么不用泽西?
2 - 如果有JSON请求,我可以为整个REST-Servlet设置utf-8吗?
我在Android上使用Jersey 1.5和CRest 1.0.1 ...
编写自定义插件并将其包含在构建脚本中很容易
apply from: "utilities.gradle"
Run Code Online (Sandbox Code Playgroud)
出于测试目的,此文件与build.gradle位于同一目录中
从build.gradle调用utilities.gradle中定义的任务可以毫无困难地工作.在实用程序中,gradle也是一个定义的插件 - 从build.gradle配置它只是起作用.
但是,如果我在utilities.gradle中定义一个自定义任务调用它没有问题,但如果我想在build.gradle中使用该自定义任务,它说
> Could not find property 'GreetingTask' on root project 'TestGradle'.
Run Code Online (Sandbox Code Playgroud)
utilities.gradle:
task hello(type: GreetingTask)
class GreetingTask extends DefaultTask {
@TaskAction
def greet() {
println 'hello from GreetingTask'
}
}
Run Code Online (Sandbox Code Playgroud)
的build.gradle
task hellox(type: GreetingTask)
Run Code Online (Sandbox Code Playgroud)
好的......我在这里阅读文档:http://www.gradle.org/docs/current/userguide/custom_tasks.html
它说自定义任务在外面是不可见的......但是......如何与团队分享自定义任务,而不是为所有东西制作一个Jar.我想要的是将utilities.gradle放在网络驱动器上并与另一个共享.
请帮助
在我的init.gradle中我有
...
// the last thing in init.gradle
def buildTime() {
def df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") //you can change it
df.setTimeZone(TimeZone.getTimeZone("UTC"))
return df.format(new Date())
}
Run Code Online (Sandbox Code Playgroud)
在我的build.gradle中,我想做这样的事情:
task showTime() << {
println buildTime()
}
Run Code Online (Sandbox Code Playgroud)
但我得到"找不到根项目中的参数[]的方法buildTime()......"
Thx提前!
我正在使用Google Analytics for Android,但在启用StrictMode后,我收到了很多这样的消息:
StrictMode policy violation; ~duration=349 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=23 violation=2
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:745)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1235)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1189)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1309)
at com.google.android.apps.analytics.PersistentEventStore.peekEvents(Unknown Source)
at com.google.android.apps.analytics.PersistentEventStore.peekEvents(Unknown Source)
at com.google.android.apps.analytics.GoogleAnalyticsTracker.dispatch(Unknown Source)
at com.google.android.apps.analytics.GoogleAnalyticsTracker$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3647)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
我可以忽略吗?我还尝试将tracker.trackingPageView(...)放入AsyncTask - 相同的结果.
以下是我对StrictMode的设置:
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork()
.penaltyLog()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects()
.penaltyLog()
.penaltyDeath()
.build());
Run Code Online (Sandbox Code Playgroud)
我真的很感激任何帮助 - 提前感谢!麦克风
我在我的一项测试中使用“withTestAppliction”来测试路由是否有效。在所有测试之前,DB-Table“cats”应该没有条目。为了获得 DAO,我需要在此测试中使用 Koin,但如果与“withTestAppliction”冲突,Koin 也将启动并抛出A KoinContext is already started
[更新]
我知道我可以使用类似的东西,handleRequest(HttpMethod.Delete, "/cats")
但我不想公开这个 Rest-Interface。甚至不是为了测试。
@ExperimentalCoroutinesApi
class CatsTest: KoinTest {
companion object {
@BeforeClass
@JvmStatic fun setup() {
// once per run
startKoin {
modules(appModule)
}
}
@AfterClass
@JvmStatic fun teardown() {
// clean up after this class, leave nothing dirty behind
stopKoin()
}
}
@Before
fun setupTest() = runBlockingTest {
val dao = inject<CatDAO>()
dao.value.deleteAll()
}
@After
fun cleanUp() {
}
@Test
fun testCreateCat() {
withTestApplication({ module(testing = true) …
Run Code Online (Sandbox Code Playgroud) 遵循Dart http://pub.dartlang.org/doc/package-layout.html的推荐目录布局, 我无法看到它如何适应传统的WebApp-Project ......
你可以看到我搞砸了一下,但注意到感觉非常正确.任何提示?
[ 更新 ]这可能是一个解决方案吗?它在这里至少用于测试目的......
有没有办法避免 Dart 中的继承?我正在寻找类似的东西
final class MyJavaClass {
...
}
Run Code Online (Sandbox Code Playgroud) KTor 非常适合单元测试,但如何启动 ktor 服务器进行集成测试?
这就是我的测试的样子:
@ExperimentalCoroutinesApi
class HttpClientTest {
private val logger = LoggerFactory.getLogger(HttpClientTest::class.java.name)
companion object {
@BeforeClass
@JvmStatic
fun setup() {
// ?????
}
@AfterClass
@JvmStatic
fun teardown() {
// ????
}
}
@Test
fun testMitDefaultHttpClient() {
val httpget = HttpGet("http://0.0.0.0:8080/json/gson")
httpget.setHeader("Accept", "application/json")
httpget.setHeader("Content-Type", "application/json")
val httpclient: HttpClient = HttpClients.createDefault()
val response = httpclient.execute(httpget)
Assert.assertEquals(200, response.statusLine.statusCode.toLong())
val responseString = EntityUtils.toString(response.entity)
logger.info(responseString)
}
}
Run Code Online (Sandbox Code Playgroud) 登录适用于 LightsailDefaultPrivateKey-eu-west-1.pem,但不适用于我自己的密钥对。
我尝试使用 'ssh-keygen -t rsa -b 4096 -C "my@email.com" -f ~/.ssh/lsail-mikemittererat-eu-west-1.pem' 生成密钥
我还尝试在 AWS/S2 上生成一个密钥,下载它,从私钥中生成一个公钥并将其上传到 LightSail - 相同的结果。它不起作用。
错误消息:ssh -i ~/.ssh/ssh_my-website ubuntu@ 权限被拒绝(公钥)。
如果我使用 -v 选项,这就是我得到的结果:
ssh -v -i ~/.ssh/lsail-mikemittererat-eu-west-1.pem ubuntu@<public ip>
OpenSSH_6.9p1, LibreSSL 2.1.8
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: /etc/ssh/ssh_config line 56: Applying options for *
debug1: Connecting to <public ip> [<public ip>] port 22.
debug1: Connection established.
debug1: identity file /Users/mikemitterer/.ssh/lsail-mikemittererat-eu-west-1.pem type 1
debug1: key_load_public: No such file …
Run Code Online (Sandbox Code Playgroud) 我在测试中使用的是这样的:
_sendFormData(final File file) {
final HttpRequest httprequest = new HttpRequest();
final String filename = file.name;
httprequest.open('POST', "http://localhost:8080/api/file/upload");
httprequest.on.readyStateChange.add((e) {
if (httprequest.readyState == 4 && httprequest.status == 200) {
window.alert("upload complete");
}
});
print("Filename: ${filename}");
final FormData formData = new FormData();
formData.append('file', null, filename);
httprequest.send(formData);
}
Run Code Online (Sandbox Code Playgroud)
是的,我知道这只是我要发送的文件名,但是如何将整个文件发送到服务器?