小编Son*_*Son的帖子

验证或删除laravel中的额外字段

是否可以使用其他字段的规则验证请求,或从请求中删除该字段?

简单的例子,我有FormRequest对象的规则:

public function rules() {
        return [
            'id' => 'required|integer',
            'company_name' => 'required|max:255',
        ];
    }
Run Code Online (Sandbox Code Playgroud)

当我得到任何其他字段的发布请求时,我想在控制器中获得错误/异常,或者我想只获取id和company_name字段,而没有任何其他字段.它与laravel中存在任何特征,或者我必须按照我的方式制作它?

php forms laravel

21
推荐指数
5
解决办法
3万
查看次数

NoSuchBeanDefinitionException:没有定义名为"entityManagerFactory"的bean

我有简单的Spring 4 WebMVC应用程序(Java-config),我想添加JPA.但是当我尝试运行app(在Tomcat上进行了部署)时,我得到:什么可能是错误的来源?

创建名为'indexController'的bean时出错:注入自动连接的依赖项失败; 嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配字段:org.demo.webtemplate.db.repository.CustSysRepository org.demo.webtemplate.controllers.IndexController.repository; 嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'custSysRepository'的bean时出错:设置bean时无法创建[org.springframework.orm.jpa.SharedEntityManagerCreator]类型的内部bean'(内部bean)#f4da8a0' property'entalManager'; 嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'(内部bean)#f4da8a0'的bean时出错:在设置构造函数参数时无法解析对bean'entalManagerFactory'的引用; 嵌套异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:没有定义名为"entityManagerFactory"的bean

初始化:

package org.demo.webtemplate;

...

public class SpringWebMvcInitializer implements WebApplicationInitializer  {

    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
        ctx.register(Config.class);
        ctx.setServletContext(servletContext);
        Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx));
        servlet.addMapping("/");
        servlet.setLoadOnStartup(1);
    }

}
Run Code Online (Sandbox Code Playgroud)

配置:

package org.demo.webtemplate;

...

@Configuration
@EnableWebMvc
@ComponentScan("pl.bzwbk.webtemplate")
@EnableJpaRepositories("pl.bzwbk.webtemplate.db.repository")
public class Config {

    @Bean
    public UrlBasedViewResolver setupViewResolver() {
        UrlBasedViewResolver resolver = new UrlBasedViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        resolver.setViewClass(JstlView.class);
        return resolver;
    }
}
Run Code Online (Sandbox Code Playgroud)

控制器:

package org.demo.webtemplate.controllers;

...

@Controller …
Run Code Online (Sandbox Code Playgroud)

java spring-mvc spring-data-jpa

4
推荐指数
1
解决办法
2万
查看次数

Spring Kafka Embedded - 测试之间已经存在主题

我创建了一组带有嵌入式 kafka (spring-kafka-test) 的测试 (JUnit 5),当我有时(并非总是)运行它们时,我在单次运行的一个或多个测试中得到“主题 'some_name' 已存在”。

所有测试都使用相同的主题名称(我不想为每个测试更改该名称),测试类具有 DirtiesContext 注释(AFTER_EACH_TEST_METHOD)。我不确定这个问题的原因是什么,以及如何解决它。

@SpringBootTest
@EmbeddedKafka(partitions = 1, topics = {"some_name"}, ports = 9092)
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
@ActiveProfiles("test")
public class RemovalKafkaTestIT {
    private EmbeddedKafkaBroker embeddedKafkaBroker = new EmbeddedKafkaBroker(1, true, TOPIC);
    private final static String SERVER_ADDRES = "127.0.0.1:9092";

    private Consumer<String, String> prepareConsumer() {
        Map<String, Object> configsConsumer = new HashMap<>(KafkaTestUtils.consumerProps("consumer", "false", embeddedKafkaBroker));
        configsConsumer.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
        configsConsumer.put("bootstrap.servers", SERVER_ADDRES);
        Consumer<String, String> consumer = new DefaultKafkaConsumerFactory<>(configsConsumer, new StringDeserializer(), new StringDeserializer()).createConsumer();
        consumer.subscribe(singleton("some_name"));
        return consumer;
    }

    @Test
    public void …
Run Code Online (Sandbox Code Playgroud)

java junit5 spring-kafka

2
推荐指数
1
解决办法
8050
查看次数

在 Spring 中使用 JPA 在 Oracle 上进行 REPEATABLE_READ


当我尝试在 Oracle DB 上使用 spring 注释为 REPEATABLE_READ 设置隔离级别时,我得到:
java.sql.SQLException: READ_COMMITTED 和 SERIALIZABLE 是唯一有效的事务级别。- (ORA-17030)

这是处理这种情况的方法吗?

@Transactional(isolation = Isolation.REPEATABLE_READ)
@Override
public List<ToMq> getAndChange1000NotForwarded() {
    String queryText = "SELECT c FROM ToMq c WHERE c.forwarded = 0 AND";
    TypedQuery<ToMq> query = em.createQuery(queryText, ToMq.class);
    query.setMaxResults(1000);
    List<ToMq> resultList = query.getResultList();

    Date current = new Date();
    for (ToMq toMq : resultList) {
        toMq.setForwarded(Boolean.TRUE);
        toMq.setForwardTimestamp(current);
    }
    save(resultList);

    return resultList;
}
Run Code Online (Sandbox Code Playgroud)

java jpa oracle11g spring-annotations

1
推荐指数
1
解决办法
3466
查看次数

如何在 postgres 全文搜索中使用替代方法构建 tsquery

我已经在 postgres DB 中的一些表上配置了全文搜索。当我尝试使用超过 1 个单词构建 tsquery 时,我在 tsquery 中使用 & (AND) 作为分隔符得到单词。实际上,我找不到结果,其中只有我所问的一个词。

例子:

| ID | Name    | Description         | Rank |
|----|---------|---------------------|------|
| 1  |Somethink|This is very strange | 0.2  |
| 2  |Other    |This is strange a bit| 0    |
Run Code Online (Sandbox Code Playgroud)

当我要求“非常奇怪”时,我的 tsquery 看起来像那样'very' & 'strange' ,并且该 tsquery 的排名(ts_rank_cd)大于 0 仅对于 ID == 1,对于 ID == 2 是 0。

我的目标是使第二句话的排名> 0。

任何想法/提示/解决方案?

postgresql full-text-search postgresql-9.1

1
推荐指数
1
解决办法
947
查看次数