在整个Ember.js文档中,我们可以找到在几个地方提到的动态段的概念.这是什么意思?
使用Ember Data,如何测试本地存储中是否已存在模型实例?
假设一个名为的Ember Data模型类型App.User = DS.Model.extend({ ... }).
someUser = App.User.find(someId)可能会也可能不会向远程服务器发出XHR,具体取决于someId本地存储中是否已存在记录.在发布XHR之前,我想首先检查本地商店是否存在这样的记录.
我有一个带有默认方法的接口:
public interface Book {
String getTitle();
default String getSentenceForTitle() {
return "This book's title is " + getTitle();
}
}
Run Code Online (Sandbox Code Playgroud)
...我有一个@Entity实现这个接口的JPA :
@Entity
public class JpaBook implements Book {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String title;
// ...
@Override
public String getTitle() {
return title;
}
}
Run Code Online (Sandbox Code Playgroud)
使用这个实体,我注意到 Jackson 也会序列化默认方法getSentenceForTitle()- 尽管在我的特殊情况下,我不想sentenceForTitle被序列化。
有没有办法让杰克逊知道我不想序列化默认方法,但要保留该方法的行为?我想出的当前解决方法是覆盖默认方法,用 注释它@JsonIgnore,然后委托给默认方法:
@Entity
public class JpaBook implements Book {
// ...
@Override
@JsonIgnore
public String getSentenceForTitle() { …Run Code Online (Sandbox Code Playgroud) Bash 参考手册提到了以下关于test/[命令的内容:
\n\n1 个参数
\n当且仅当参数不为空时,表达式才为 true。
\n
到目前为止,一切都很好:
\n$ test "foo"\n$ echo $?\n0\n\n$ test foo\n$ echo $?\n0\n\n$ test ""\n$ echo $?\n1\n\n$ SET_VARIABLE="hello"\n$ test $SET_VARIABLE\n$ echo $?\n0\n\n$ unset UNSET_VARIABLE\n$ test $UNSET_VARIABLE\n$ echo $?\n1\n\n$ NULL_VARIABLE=\n$ test $NULL_VARIABLE\n$ echo $?\n1\nRun Code Online (Sandbox Code Playgroud)\n但是,手册提到了以下三个论点:
\n\n\n3 个参数
\n...
\n如果第一个参数恰好是 \xe2\x80\x98(\xe2\x80\x99 并且第三个参数恰好是 \xe2\x80\x98)\xe2\x80\x99,则结果是第二个参数的单参数测试争论。
\n
我找不到这个三参数案例的任何有效示例;任何尝试都会导致语法错误:
\n$ test ( "foo" )\nbash: syntax error near unexpected token `"foo"\'\n$ echo $?\n2\n\n$ test ( …Run Code Online (Sandbox Code Playgroud) ember.js ×2
bash ×1
ember-data ×1
ember-router ×1
jackson ×1
java-8 ×1
json ×1
syntax-error ×1